<d_bot>
<EduardoRFS> it will, this is not really weird if you think how the typing order works, but yes this cases will be solved
bartholin has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
olle has quit [Ping timeout: 252 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 265 seconds]
yoctocell has quit [Ping timeout: 265 seconds]
terrorjack has joined #ocaml
bartholin has quit [Ping timeout: 252 seconds]
Serpent7776 has quit [Quit: leaving]
bartholin has joined #ocaml
olle has joined #ocaml
<d_bot>
<RegularSpatula> I’m not sure what you mean about the typing order honestly…do you know off the top of your head any links/refs talking about it ?
Tardigreat[m] has left #ocaml [#ocaml]
<d_bot>
<EduardoRFS> sorry nope, but the typing order in OCaml matters, that's also why `let pat = e1 in e2` isn't the same as `match e1 with | pat -> e2`
<d_bot>
<RegularSpatula> Huh, that’s interesting…I’ll have to look more into it
<d_bot>
<leviroth> I don't think this is really about typing order (the way that type-directed disambiguation of constructors is).
<d_bot>
<leviroth> I think the crux is that optional arguments get eliminated from the type of a function when it's applied, and not when it's passed in as an argument to another function. So if you have a higher-order function that expects an argument of type `foo -> bar` you can't pass it an argument of type `?baz:baz -> foo -> bar`.
<d_bot>
<leviroth> And (prior to 4.13, and in the absence of ppx transformations) `|>` and `@@` are just higher-order functions.
zebrag has joined #ocaml
olle has quit [Ping timeout: 252 seconds]
[itchyjunk] has quit [Remote host closed the connection]
bartholin has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
bartholin has quit [Quit: Leaving]
Stumpfenstiel has quit [Ping timeout: 252 seconds]