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
<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]