companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.14.0 released: https://ocaml.org/releases/4.14.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
hyphen has quit [Read error: Connection reset by peer]
hyphen has joined #ocaml
rak_ has quit [Quit: Segmentation fault (core recycled)]
rak has joined #ocaml
waleee has quit [Quit: WeeChat 3.5]
vicfred has quit [Quit: Leaving]
aspe has joined #ocaml
aspe has quit [Quit: aspe]
<d_bot> <Joysee> I have found a particularly good airdrop program. There is no raffle and you don't have to pay to get it. ONLY ONE THOUSAND NFTS, FIRST-COME, FIRST-SERVED!!! Please follow @MetaNotey on twitter to get more details.
<d_bot> <NULL> @admin
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
chrisz has quit [Ping timeout: 240 seconds]
<d_bot> <nave01314> On the website, it shows a beta label. I am guessing by published they mean that they created a finalized beta version that people could read online (and maybe generated PDFs to be hosted online as well). I don't think it means that they're finished with it!
chrisz has joined #ocaml
rgrinberg has joined #ocaml
<companion_cube> @khady we use it with datadog, but it works with jaeger locally (for traces)
<companion_cube> so far it's shaping up to be nice
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
mjs22_ has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
Haudegen has joined #ocaml
<greenbagels> does ocaml do tail call optimization if the last expression in a recursive function call is a match expression?
<greenbagels> oh i guess godbolt supports ocaml, nice
gentauro has quit [Read error: Connection reset by peer]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gentauro has joined #ocaml
jpds has quit [Remote host closed the connection]
jpds has joined #ocaml
ralu13 has joined #ocaml
kurfen has quit [Ping timeout: 246 seconds]
companion_cube has quit [Ping timeout: 246 seconds]
notnotdan has quit [Ping timeout: 246 seconds]
nfc has quit [Ping timeout: 246 seconds]
x88x88x has quit [Ping timeout: 246 seconds]
perrierjouet has quit [Ping timeout: 246 seconds]
bobo has quit [Ping timeout: 246 seconds]
ralu1 has quit [Ping timeout: 246 seconds]
Ekho has quit [Ping timeout: 246 seconds]
habnabit_ has quit [Ping timeout: 246 seconds]
ralu13 is now known as ralu1
spip has joined #ocaml
kurfen has joined #ocaml
gravicappa has joined #ocaml
nfc has joined #ocaml
Ekho- has joined #ocaml
x88x88x has joined #ocaml
habnabit_ has joined #ocaml
companion_cube has joined #ocaml
notnotdan has joined #ocaml
perrierjouet has joined #ocaml
Ekho- is now known as Ekho
mro has joined #ocaml
aspe has joined #ocaml
<d_bot> <Butanium (@me on reply)> oh irc bot now use robots instead of cats :o
tomku has quit [Ping timeout: 246 seconds]
Absalom has joined #ocaml
<d_bot> <froyo> 1984
<d_bot> <Et7f3 (@me on reply)> 1985 ?
<d_bot> <Et7f3 (@me on reply)> The book is about mass control not robots 🤔
<d_bot> <froyo> you're reading too much into it
<d_bot> <froyo> "they took the cat"
<d_bot> <froyo> "damn, this is literally 1984
<d_bot> <froyo> took away the cat*
dextaa490 has joined #ocaml
<greenbagels> ocatml
dextaa490 is now known as dextaa
mbuf has joined #ocaml
bobo has joined #ocaml
spip has quit [Ping timeout: 272 seconds]
sagax has quit [Remote host closed the connection]
mbuf has quit [Ping timeout: 250 seconds]
mbuf has joined #ocaml
mbuf has quit [Ping timeout: 272 seconds]
mbuf has joined #ocaml
olle has joined #ocaml
szkl has joined #ocaml
aspe has quit [Quit: aspe]
kaph has joined #ocaml
mro has quit [Quit: Leaving...]
tomku has joined #ocaml
dextaa8 has joined #ocaml
dextaa has quit [Ping timeout: 250 seconds]
dextaa8 is now known as dextaa
bartholin has joined #ocaml
<d_bot> <VPhantom> Hm I still see cats. 🤔
dextaa5 has joined #ocaml
dextaa has quit [Ping timeout: 260 seconds]
dextaa5 is now known as dextaa
bobo has quit [Ping timeout: 250 seconds]
bobo has joined #ocaml
wingsorc has quit [Quit: Leaving]
szkl has quit [Quit: Connection closed for inactivity]
<d_bot> <ostera> i can't see any cats
DNH has joined #ocaml
dextaa0 has joined #ocaml
dextaa has quit [Read error: Connection reset by peer]
dextaa0 is now known as dextaa
Anarchos has joined #ocaml
spip has joined #ocaml
bobo has quit [Ping timeout: 260 seconds]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Haudegen has quit [Quit: Bin weg.]
amk has quit [Remote host closed the connection]
amk has joined #ocaml
dextaa has quit [Quit: The Lounge - https://thelounge.chat]
dextaa has joined #ocaml
dextaa has quit [Client Quit]
dextaa has joined #ocaml
dextaa has quit [Ping timeout: 260 seconds]
kaph_ has joined #ocaml
kaph has quit [Ping timeout: 244 seconds]
dextaa has joined #ocaml
genpaku has quit [Ping timeout: 276 seconds]
genpaku has joined #ocaml
vicfred has joined #ocaml
gereedy has joined #ocaml
Haudegen has joined #ocaml
gravicappa has quit [Ping timeout: 260 seconds]
<d_bot> <Patate> Hi everyone!
<d_bot> <Patate> I struggle raising an Error from menhir... how is it done?
<d_bot> <Patate> Like I have a production
<d_bot> <Patate> ```
<d_bot> <Patate> my_rule:
<d_bot> <Patate> | TOKEN_THAT_MAY_CAUSE_PROBLEM { if <_logic\_error_> then <_Error_> }
<d_bot> <Patate> ```
kaph_ has quit [Ping timeout: 260 seconds]
<d_bot> <Patate> Maybe it is not a good idea... should i just throw an exception?
<d_bot> <octachron> Raising a not-menhir exception is probably better, but you probably want neither?
<d_bot> <Patate> It's just that there are many cases, and it's easier to do the logic in ocaml
<d_bot> <Patate> for the C type qualifiers
<d_bot> <Patate> for example const long long can be written in MANY ways
cedric has joined #ocaml
gravicappa has joined #ocaml
<d_bot> <octachron> You can have a validation pass on the OCaml AST once it has been produced.
<d_bot> <Patate> Yes, that is what I was thinking of...
<d_bot> <Patate> I guess there is no way to recognise a set of tokens, without consideration of their ordering?
<d_bot> <NULL> If that set is finite, you can enumerate, but otherwise I don't think so
<d_bot> <Patate> It is finite, yes, for example if there is a way to say "all possible combinations of two A's, a B and a C
<d_bot> <NULL> Besides enumerating it, I don't think so
<d_bot> <Patate> Mmh, that's what I thought ^^
<d_bot> <Patate> Fine, I'll write all of them down.
<d_bot> <blobfish> guys, is there anyone who has already written bfs algorithm for binary trees ?
<d_bot> <blobfish> In ocaml
<d_bot> <Patate> I guess many had
rgrinberg has joined #ocaml
<d_bot> <blobfish> @Patate can you please help me if you have few min
<d_bot> <froyo> ahaha yes!
<d_bot> <Patate> Only if you can stream
<d_bot> <blobfish> what do you mean
gereedy has quit [Ping timeout: 260 seconds]
waleee has joined #ocaml
cedric has quit [Quit: Konversation terminated!]
bobo has joined #ocaml
kaph_ has joined #ocaml
spip has quit [Ping timeout: 260 seconds]
bartholin has quit [Quit: Leaving]
dextaa has quit [Quit: The Lounge - https://thelounge.chat]
Haudegen has quit [Quit: Bin weg.]
mbuf has quit [Quit: Leaving]
zebrag has joined #ocaml
<d_bot> <inkbottle> Can you do w/o explicit-polymorphism via boxed-polymorphism? Specifically in `type 'a nested_reduction = { f:'elt. 'elt nested -> 'a }` in https://v2.ocaml.org/manual/polymorphism.html. (Trying to clarify: "The simplest method to extend ML with first-class polymorphism is to use boxed polymorphism." http://pauillac.inria.fr/~remy/work/fml/fml-icfp.pdf)
<sim642> Do what without it?
<d_bot> <NULL> ^
Everything has joined #ocaml
<d_bot> <inkbottle> I want to replace `type 'a nested_reduction ...` by a line that would possibly make more use of boxed polymorphism, but wouldn't use the explicit polymorphism syntax at all.
<d_bot> <inkbottle> Because I'm wondering if that's what Rémy's paper is suggesting.
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #ocaml
<d_bot> <octachron> The explicit syntax *is* boxed polymorphism.
<d_bot> <inkbottle> Yes, just what I was thinking.
<d_bot> <NULL> What I get of it is that you can replace non-prenex polymorphism (i.e. `'b. ('a. 'a -> 'a) -> 'b -> 'b`) with boxed polymorphism (`'b. poly -> 'b -> 'b` with `poly = { f : 'a. 'a -> 'a }`)
<d_bot> <froyo> @octachron why is `type empty = { absurd : 'a. 'a }` not ruled out by the exhaustion checker btw? Is there a (safe) way to construct it?
<d_bot> <NULL> You can write `let empty () : empty = assert false`
<d_bot> <NULL> A bit like empty variants
<d_bot> <froyo> I can do that for other cases which are ruled out by the type checker
<d_bot> <froyo> like `type empty = |`
<d_bot> <froyo> i think
<d_bot> <octachron> The typechecker is not aware that absurd is empty.
<d_bot> <NULL> Ok, I misread what you asked
<d_bot> <inkbottle> Can we see an implicit box somewhere in that expression? `let rec depth: 'a. 'a nested -> _ = function ...`
<d_bot> <NULL> No, just an explicit polymorphism declaration
<d_bot> <inkbottle> We do have the explicit syntax, so we should have the box?
<d_bot> <NULL> You can't have `'b. ('a. 'a -> 'a) -> 'b -> 'b`
<d_bot> <NULL> i.e. non-prenex polymorphism
<d_bot> <octachron> That's a first-order polymorphic function, the explicit annotation is here for the recursion.
<d_bot> <inkbottle> So a totally different story? With the same syntax though
<d_bot> <NULL> but you can bow that non-prenex polymorphism (here `('a. 'a -> 'a)`) in a box
<d_bot> <NULL> box*
<d_bot> <octachron> It is the same story? Boxed polymorphism is here for function arguments are polymorphic function themselves. You don't need to box prenex polymorphism.
waleee has quit [Ping timeout: 260 seconds]
<d_bot> <inkbottle> Thanks
<d_bot> <NULL> If they are not unified with a concrete types, type variables (`'a, 'b`) are implicitly made universal : `'a -> 'a` is implicitly `'a. 'a -> 'a`. There are two occasions where this annotation is required : a recursive function which calls itself with another type and a box
<d_bot> <NULL> ~~a~~
waleee has joined #ocaml
Anarchos has joined #ocaml
<d_bot> <inkbottle> I actually find that quite clarifying
<d_bot> <inkbottle> "unified", "concrete" and "two occasions"
<d_bot> <inkbottle> mostly "two occasions"
<d_bot> <inkbottle> I'll keep that in mind
mro has joined #ocaml
mro has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 272 seconds]
waleee has joined #ocaml
Haudegen has joined #ocaml
hyphen has quit [Ping timeout: 272 seconds]
azimut has quit [Ping timeout: 240 seconds]
hyphen has joined #ocaml
Sankalp has quit [Ping timeout: 276 seconds]
Sankalp has joined #ocaml
hyphen has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 272 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hyphen has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
kaph_ has quit [Ping timeout: 240 seconds]
Tuplanolla has joined #ocaml
vicfred has quit [Quit: Leaving]
mro has joined #ocaml
hyphen has quit [Ping timeout: 260 seconds]
hyphen has joined #ocaml
mro has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
klu_ has joined #ocaml
klu_ has quit [Changing host]
klu_ has joined #ocaml
klu has quit [Ping timeout: 256 seconds]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
vicfred has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Everything has quit [Quit: leaving]
ns128 has joined #ocaml
ns12 has quit [Ping timeout: 276 seconds]
ns128 is now known as ns12
gravicappa has quit [Ping timeout: 240 seconds]
waleee has joined #ocaml
hyphen has quit [Ping timeout: 272 seconds]
hyphen has joined #ocaml
mjs22_ has quit [Remote host closed the connection]
vicfred has quit [Remote host closed the connection]
vicfred has joined #ocaml
Serpent7776 has quit [Quit: leaving]
klu_ has quit [Ping timeout: 244 seconds]
olle has quit [Ping timeout: 248 seconds]
wingsorc has joined #ocaml
bobo has quit [Quit: Konversation terminated!]
rgrinberg has joined #ocaml
xgqt has quit [Ping timeout: 276 seconds]
xgqt has joined #ocaml
spip has joined #ocaml
wingsorc has quit [Quit: Leaving]
Tuplanolla has quit [Quit: Leaving.]
wingsorc has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
xenu has quit [Read error: Connection reset by peer]
xenu has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
DNH has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bobo has joined #ocaml
spip has quit [Ping timeout: 272 seconds]
spip has joined #ocaml
bobo has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml