casastorta has quit [Remote host closed the connection]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 260 seconds]
agentcas- has joined #ocaml
agentcasey has quit [Ping timeout: 265 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 265 seconds]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
alfiee has joined #ocaml
m5zs7k has quit [Ping timeout: 260 seconds]
alfiee has quit [Ping timeout: 272 seconds]
m5zs7k has joined #ocaml
Guest62 has joined #ocaml
humasect has joined #ocaml
humasect has quit [Client Quit]
myrkraverk_ has joined #ocaml
alfiee has joined #ocaml
myrkraverk has quit [Ping timeout: 272 seconds]
alfiee has quit [Ping timeout: 260 seconds]
mbuf has joined #ocaml
pi3ce has quit [Read error: Connection reset by peer]
pi3ce has joined #ocaml
Serpent7776 has joined #ocaml
alfiee has joined #ocaml
<Guest62>
found a box with opam installed. It turned out: opam init ; opam install ppx_jane will downgrade from 5.3 to 5.2, likely one of the dependencies force that downgrade.
alfiee has quit [Ping timeout: 272 seconds]
<Guest62>
for some reason opam show -f depends ppx_jane | cut -f 2 -d '"' | xargs --verbose -n1 opam show -f depends| grep -E '(^"ocaml"|compiler)' does not show which one forces the downgrade...
bartholin has joined #ocaml
polykernel has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
<discocaml>
<._null._> You can do `opam install ocaml.5.3.0 ppx_jane` and see what message you get
olle has joined #ocaml
Haudegen has joined #ocaml
bartholin has quit [Quit: Leaving]
dhil has joined #ocaml
alfiee has joined #ocaml
pi3ce has quit [Read error: Connection reset by peer]
alfiee has quit [Ping timeout: 272 seconds]
pi3ce has joined #ocaml
pi3ce has quit [Client Quit]
mange has quit [Remote host closed the connection]
pi3ce has joined #ocaml
mange has joined #ocaml
<Guest62>
apparently it is bin_prot, but it is unclear which part of it wants < 5.3
<discocaml>
<._null._> FTR, I can install ppx_jane on my 5.3.0 switch, so the issue must come from another package
<bartholin>
what is the motivation for conjunctions in polymorphic variant types (the & symbol) and is there an example where it is useful (even a toy example)?
<bartholin>
>Full specifications of variant tags are only used for non-exact closed types. They can be understood as a conjunctive type for the argument: it is intended to have all the types enumerated in the specification.
<discocaml>
<Kali> i don't think ive ever seen them used
alfiee has joined #ocaml
<bartholin>
thx
alfiee has quit [Ping timeout: 252 seconds]
<discocaml>
<alyxshang> Btw, I wanted to just say how comfy this community is. Everyone's very kind. That's very refreshing and calming, to say the least. 🙏
spynx has joined #ocaml
<bartholin>
but wait, in which case is it interesting to keep "t1 & t2", and not to compute the meet?
spynxic has quit [Remote host closed the connection]
<bartholin>
afaik, ocaml only keeps "t1 & t2" if these two types are not unifiable
<bartholin>
wait no
<bartholin>
but the types are either unifiable or not
<bartholin>
keeping the form "t1 & t2" is just postponing the unification for no reason
Anarchos has joined #ocaml
<bartholin>
if I do let f c = ((function `A l -> l) c, (function `A l -> l) c), I get val f : [< `A of 'a & 'b ] -> 'b * 'a = <fun> but obviously 'a should be unified with 'b
<discocaml>
<Kali> actually, i have seen them used once, but it was a very fringe use
<Anarchos>
bartholin it is the meaning of 'a & 'b
<bartholin>
I get a weird result if I annotate the argument with [< `A of 'a], the type becomes val f : [< `A of 'a & 'b & 'c ] -> 'b * 'c
chiselfuse has quit [Remote host closed the connection]
<Anarchos>
bartholin you use `A isntead of A, so both sides are considered to belong to two different types
<bartholin>
Anarchos: but in every case ocaml unify the types
chiselfuse has joined #ocaml
<Anarchos>
bartholin yes indeed i am not skilled enough to answer more. But i think the `A instead of A is the clue.
LainExperiments has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 265 seconds]
rgrinberg has joined #ocaml
Armael has quit [Ping timeout: 252 seconds]
Armael has joined #ocaml
Everything has joined #ocaml
alfiee has joined #ocaml
Serpent7776 has quit [Ping timeout: 252 seconds]
alfiee has quit [Ping timeout: 252 seconds]
Everything has quit [Ping timeout: 265 seconds]
Everything has joined #ocaml
mange has joined #ocaml
bartholin has quit [Quit: Leaving]
chiselfuse has quit [Ping timeout: 264 seconds]
chiselfuse has joined #ocaml
ygrek has quit [Remote host closed the connection]