spew has quit [Quit: Connection closed for inactivity]
AnAverageHuman has quit [Ping timeout: 256 seconds]
ale64bit has joined #ocaml
ale64bit has quit [Ping timeout: 250 seconds]
xuib has quit [Quit: xuib]
ale64bit has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kvda has joined #ocaml
jmagnusj__ has joined #ocaml
adrianbrink_ has joined #ocaml
lpil0 has joined #ocaml
adi________ has joined #ocaml
Xizor_ has joined #ocaml
rdivyanshu_ has joined #ocaml
jyc__ has joined #ocaml
kark_ has joined #ocaml
sim642_ has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lokydor[m] has quit [*.net *.split]
aecepoglu[m] has quit [*.net *.split]
isaachodes[m] has quit [*.net *.split]
smondet[m] has quit [*.net *.split]
cgenie[m] has quit [*.net *.split]
jmagnusj_ has quit [*.net *.split]
rdivyanshu has quit [*.net *.split]
jyc_ has quit [*.net *.split]
adrianbrink has quit [*.net *.split]
lpil has quit [*.net *.split]
adi_______ has quit [*.net *.split]
dmiles has quit [*.net *.split]
jack5638 has quit [*.net *.split]
sim642 has quit [*.net *.split]
Xizor has quit [*.net *.split]
kark has quit [*.net *.split]
groovy2shoes has quit [*.net *.split]
adrianbrink_ is now known as adrianbrink
rdivyanshu_ is now known as rdivyanshu
sim642_ is now known as sim642
jack5638 has joined #ocaml
ocabot has quit [Ping timeout: 255 seconds]
logicmoo has joined #ocaml
AtumT has quit [Quit: AtumT]
groovy2shoes has joined #ocaml
ocabot has joined #ocaml
lokydor[m] has joined #ocaml
smondet[m] has joined #ocaml
cgenie[m] has joined #ocaml
aecepoglu[m] has joined #ocaml
isaachodes[m] has joined #ocaml
kvda has joined #ocaml
kvda has quit [Client Quit]
ziyourenxiang__ has joined #ocaml
ale64bit has quit [Ping timeout: 268 seconds]
al-damiri has quit [Quit: Connection closed for inactivity]
ale64bit has joined #ocaml
<ale64bit>
is there an existing tool (like ocamlformat) to format menhir and ocamllex files?
mfp has quit [Ping timeout: 268 seconds]
johnelse has quit [Read error: Connection reset by peer]
johnelse has joined #ocaml
kvda has joined #ocaml
KeyJoo has joined #ocaml
Jeanne-Kamikaze has joined #ocaml
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 246 seconds]
AnAverageHuman has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kvda has joined #ocaml
KeyJoo has quit [Quit: KeyJoo]
gravicappa has joined #ocaml
ygrek has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kvda has joined #ocaml
kvda has quit [Client Quit]
Jeanne-Kamikaze has quit [Quit: Leaving]
_whitelogger has joined #ocaml
ale64bit has quit [Ping timeout: 250 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
sonologico has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 246 seconds]
AnAverageHuman has quit [Ping timeout: 256 seconds]
kvda has joined #ocaml
kvda has quit [Client Quit]
Birdface has joined #ocaml
jao has quit [Ping timeout: 268 seconds]
jmagnusj_ has joined #ocaml
jmagnusj__ has quit [Ping timeout: 250 seconds]
kvda has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
barockobamo has joined #ocaml
silver has joined #ocaml
Birdface has quit [Ping timeout: 250 seconds]
jaar has joined #ocaml
<flux[m]>
emacs maybe :)
Haudegen has joined #ocaml
freyr69 has joined #ocaml
Bahman has joined #ocaml
dhil has joined #ocaml
jaar has quit [Ping timeout: 258 seconds]
johnelse has quit [Read error: Connection reset by peer]
johnelse has joined #ocaml
johnelse has quit [Read error: Connection reset by peer]
<adrien>
dinosaure: thanks! :)
pierpal has quit [Ping timeout: 255 seconds]
johnelse has joined #ocaml
jaar has joined #ocaml
<hannes>
I struggle a bit with the typer... getting the following error:
<hannes>
Error: This expression has type $B_'a key
<hannes>
but an expression was expected of type a key
<hannes>
Type $B_'a is not compatible with type a
<def`>
A bit difficult to say what is going on without more context, but it seems that $B_a is an existential coming from unpacking a constructor called B
<hannes>
hmm, without type annotations I end up in "type constructor $B_'a would escape its scope"
<def`>
And the 'a of B is known to be equal to `a` in that context?
<hannes>
def`: yes, the line of code I wanted to add: let map f m = M.map (fun (B (k, v)) -> B (k, f k v)) m
<def`>
hannes: using constructor disambiguation, the overhead for the client can reduce to calling map { f = ... }
<def`>
can be reduced to*
<hannes>
i'll wander off to the agda land, i heard they've more powerful types ;)
<hannes>
def`: yes
<Drup>
well, haskell can do that one too :)
<Drup>
no need to spin up agda
<def`>
:D... It is supposed to be a "nicer way" to get polymorphism than switching to a vastly more powerful type system.
<def`>
I still don't buy this poly-ml / semi-explicit polymorphism argument ;P
<hannes>
well, another (less safe, more pragmatic) would be (map : (b -> b) -> t -> t) -- i.e. not unpack the key/value, but then this would allow clients to modify the key in the binding.
<hannes>
but I can (runtime :/)-check that k == k'..
<def`>
When using such an heterogeneous map, having this record doesn't add much to the boilerplate involved in dealing with GADTs
mfp has joined #ocaml
<def`>
(I implemented a similar structure where I had one record for polymorphic iter, one for map and one for fold... It wasn't that painful in the end)
sz0 has joined #ocaml
<hannes>
thanks - I'll think about it
<hannes>
maybe map isn't worth it in the end..
<Drup>
hannes: I would recommend adding map with the record. It's inconvenient, but even if you don't need map often, when you do, it's important to have it
lpil0 is now known as lpil
johnelse has quit [Read error: No route to host]
kakadu has joined #ocaml
johnelse has joined #ocaml
pierpal has joined #ocaml
Haudegen has quit [Remote host closed the connection]
dhil has quit [Ping timeout: 245 seconds]
keep_learning_M has joined #ocaml
jnavila has joined #ocaml
jnavila has quit [Remote host closed the connection]