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/
bobo has joined #ocaml
spip has quit [Ping timeout: 256 seconds]
spip has joined #ocaml
bobo has quit [Ping timeout: 248 seconds]
<d_bot> <cemerick> _Every_ single day, I wish OCaml provided implicit upwards coercions for poly variants.
<d_bot> <cemerick> IIRC there's a good reason this isn't done, but I wish it weren't so 😅
bobo has joined #ocaml
spip has quit [Ping timeout: 276 seconds]
<brettgilio> cemerick, propose an RFC
<companion_cube> is it compatible at all with the type inference algorithm? afaik it relies strongly on (most) things having a principal type
<brettgilio> companion_cube I had a similar thought, but I assumed there must be a reason they thought there was "no reason this isn't done". But yeah, the type system of OCaml basically does not allow for this type of coercion. It would be incompatible with the subtyping routines already used with polyvariants
<companion_cube> I think the poly variants (and objects) are fundamentally based on row polymorphism, not subtyping
<companion_cube> so coercions are required
<companion_cube> but then I'm not a type theorist :s
<brettgilio> I agree it is not based on subtypimg
<brettgilio> I was mostly meaning that upward coercion would not be compatible with subtyping as it is implemented
<brettgilio> But I could be totally wrong
<brettgilio> I am hazarding a guess
<d_bot> <cod1r> fresh bread is so good
<d_bot> <cod1r> 😍
<d_bot> <cod1r> dry bread is not as good
zebrag has quit [Quit: Konversation terminated!]
waleee has quit [Ping timeout: 248 seconds]
<d_bot> <cemerick> I have nothing to add to the subject beyond "I want a pony"
tiferrei has quit [Ping timeout: 240 seconds]
tiferrei has joined #ocaml
<d_bot> <cod1r> hi
Haudegen has joined #ocaml
mbuf has joined #ocaml
spip has joined #ocaml
bobo has quit [Ping timeout: 250 seconds]
gravicappa has joined #ocaml
<d_bot> <Ambika E.> True
<d_bot> <Ambika E.> Maybe better suited to #random🎲 though
shawnw has joined #ocaml
Sankalp has quit [Ping timeout: 248 seconds]
szkl has quit [Quit: Connection closed for inactivity]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
slothby has quit [Quit: brb ... maybe]
Sankalp has joined #ocaml
Anarchos has joined #ocaml
Sankalp has quit [Read error: Connection reset by peer]
Sankalp has joined #ocaml
szkl has joined #ocaml
kaph has joined #ocaml
Absalom has quit [Quit: the lounge - https://webirc.envs.net]
Absalom has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #ocaml
bgs has quit [Ping timeout: 256 seconds]
azimut has quit [Ping timeout: 240 seconds]
bgs has joined #ocaml
jpds has quit [Remote host closed the connection]
jpds has joined #ocaml
bobo has joined #ocaml
spip has quit [Ping timeout: 248 seconds]
olle has joined #ocaml
mjacob has quit [Ping timeout: 256 seconds]
tomku|two has quit [Ping timeout: 256 seconds]
tomku has joined #ocaml
mjacob has joined #ocaml
Sankalp has quit [Ping timeout: 248 seconds]
Sankalp has joined #ocaml
adanwan has quit [Remote host closed the connection]
adanwan has joined #ocaml
adanwan has quit [Remote host closed the connection]
adanwan has joined #ocaml
bobo has quit [Ping timeout: 246 seconds]
spip has joined #ocaml
mbuf has quit [Quit: Leaving]
bartholin has joined #ocaml
bobo has joined #ocaml
spip has quit [Ping timeout: 260 seconds]
wingsorc has quit [Quit: Leaving]
perrierjouet has quit [Ping timeout: 248 seconds]
spip has joined #ocaml
xgqt has quit [Ping timeout: 246 seconds]
bobo has quit [Ping timeout: 260 seconds]
xgqt has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Changing host]
dreadedfrog has joined #ocaml
bobo has joined #ocaml
spip has quit [Ping timeout: 240 seconds]
szkl has quit [Quit: Connection closed for inactivity]
dreadedfrog has quit [Ping timeout: 252 seconds]
gravicappa has quit [Ping timeout: 276 seconds]
<Anarchos> brettgilio nice
Haudegen has quit [Quit: Bin weg.]
zebrag has joined #ocaml
waleee has joined #ocaml
spip has joined #ocaml
bobo has quit [Ping timeout: 248 seconds]
adanwan has quit [Remote host closed the connection]
adanwan has joined #ocaml
shawnw has quit [Ping timeout: 250 seconds]
Haudegen has joined #ocaml
bartholin has quit [Ping timeout: 248 seconds]
Anarchos has quit [Ping timeout: 260 seconds]
adanwan has quit [Quit: _]
adanwan has joined #ocaml
bartholin has joined #ocaml
Anarchos has joined #ocaml
vicfred has joined #ocaml
rgrinberg has joined #ocaml
bartholin has quit [Ping timeout: 256 seconds]
dreadedfrog has joined #ocaml
vicfred has quit [Quit: Leaving]
slothby has joined #ocaml
bartholin has joined #ocaml
dreadedfrog has quit [Quit: Client closed]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Haudegen has quit [Quit: Bin weg.]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bartholin has quit [Quit: Leaving]
bobo has joined #ocaml
spip has quit [Ping timeout: 276 seconds]
gravicappa has joined #ocaml
Tuplanolla has joined #ocaml
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
rgrinberg has joined #ocaml
<d_bot> <ec> Is there anything like `ocp-grep` that's a little more … integrated? `ocamllsp` / VSCode doesn't seem to suggest find-all-references
Haudegen has joined #ocaml
Sankalp has quit [Ping timeout: 260 seconds]
ns12 has quit [Quit: bye]
ns12 has joined #ocaml
Sankalp has joined #ocaml
neilthereildeil has joined #ocaml
neilthereildeil has quit [Client Quit]
rgrinberg has quit [Ping timeout: 248 seconds]
Anarchos has joined #ocaml
testUser has joined #ocaml
testUser has quit [Client Quit]
aanmdsa has joined #ocaml
aanmdsa has quit [Quit: Client closed]
adanwan has quit [Ping timeout: 240 seconds]
adanwan has joined #ocaml
gravicappa has quit [Ping timeout: 256 seconds]
<qwr> companion_cube: yes, it is basically row polymorphism (and the object types also work the same way)
* qwr wrote plain-text description of unification algorithm used for similar types in Yeti language: http://dot.planet.ee/yeti/reference.html#structure-and-variant-types
spip has joined #ocaml
bobo has quit [Ping timeout: 260 seconds]
olle has quit [Ping timeout: 260 seconds]
spip has quit [Ping timeout: 248 seconds]
spip has joined #ocaml
wingsorc has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
zebrag has quit [Quit: Konversation terminated!]
rgrinberg has joined #ocaml
<brettgilio> Definite uptick in HN posts for ocaml
<d_bot> <cod1r> I got into at the right time then
<d_bot> <cod1r> LET'S GOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
<brettgilio> Well crap that link didnt work
<brettgilio> There
neiluj has joined #ocaml
<neiluj> Hello! If we want to update a mutable map we can use a ref to a map, right?
<d_bot> <NULL> If the map is mutable, surely you have a way to update it
<d_bot> <NULL> If you have a ref to an immutable map, you can update the ref
<neiluj> thanks, it checks out!
<neiluj> love that ocaml allows mutability
<neiluj> for instance for memoization
Tuplanolla has quit [Quit: Leaving.]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Haudegen has quit [Ping timeout: 256 seconds]
chiastre has quit [Ping timeout: 248 seconds]
neiluj has quit [Quit: Leaving]
rgrinberg has joined #ocaml
adanwan has quit [Ping timeout: 240 seconds]
azimut has quit [Ping timeout: 240 seconds]
chiastre has joined #ocaml
tiferrei has quit [Ping timeout: 240 seconds]
adanwan has joined #ocaml
azimut has joined #ocaml
tiferrei has joined #ocaml
<d_bot> <nave01314> I think lazy also allows for immutable memoization
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
vicfred has joined #ocaml
<d_bot> <leviroth> How would that work?