nullifidian__ has quit [Ping timeout: 248 seconds]
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 245 seconds]
nullifidian_ is now known as nullifidian
gravicappa has joined #ocaml
kvda has joined #ocaml
kvda has quit [Client Quit]
Jeanne-Kamikaze has joined #ocaml
mfp_ has quit [Ping timeout: 245 seconds]
ihavelotsoffries has joined #ocaml
kvda has joined #ocaml
ihavelotsoffries has quit [Changing host]
ihavelotsoffries has joined #ocaml
ihavelotsoffries has joined #ocaml
ihavelotsoffries has quit [Remote host closed the connection]
ihavelotsoffries has joined #ocaml
ihavelotsoffries has quit [Changing host]
ihavelotsoffries has joined #ocaml
ihavelotsoffries has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ihavelotsoffries has quit [Remote host closed the connection]
Jeanne-Kamikaze has quit [Remote host closed the connection]
Vikfret has joined #ocaml
nullifidian_ has joined #ocaml
ekinmur has joined #ocaml
nullifidian has quit [Ping timeout: 246 seconds]
Birdface has joined #ocaml
barockobamo has joined #ocaml
ekinmur has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ekinmur has joined #ocaml
ekinmur has quit [Client Quit]
ggole has joined #ocaml
Haudegen has joined #ocaml
glass has quit [Ping timeout: 245 seconds]
pyan has quit [Quit: brb]
pyan has joined #ocaml
freyr69 has joined #ocaml
<freyr69>
How to suppress 4.08 deprecated alerts with dune?
theglass has joined #ocaml
theglass has quit [Changing host]
theglass has joined #ocaml
<octachron>
freyr69, `flags (... -w "-3") if you need to stay compatible with earlier version of Ocaml `-alert "-deprecated"` otherwise
Vikfret has quit [Quit: Leaving]
vicfred has quit [Quit: Leaving]
<xvilka>
or just switch to *-compat library where is appropriate
malina has quit [Ping timeout: 248 seconds]
<freyr69>
Thanks
theglass has quit [Ping timeout: 264 seconds]
gareppa has joined #ocaml
theglass has joined #ocaml
theglass has quit [Changing host]
theglass has joined #ocaml
gareppa has quit [Quit: Leaving]
mfp_ has joined #ocaml
malina has joined #ocaml
gahr has quit [Quit: leaving]
Birdface has quit [Remote host closed the connection]
Birdface has joined #ocaml
gahr has joined #ocaml
andreas303 has quit [Remote host closed the connection]
andreas303 has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
pepesza has quit [Ping timeout: 244 seconds]
bartholin has quit [Ping timeout: 245 seconds]
pepesza has joined #ocaml
bartholin has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
dimitarvp has joined #ocaml
dimitarvp has quit [Client Quit]
jao has joined #ocaml
bronsen has quit [Quit: WeeChat 2.5]
bronsen has joined #ocaml
bronsen has quit [Client Quit]
bronsen has joined #ocaml
gravicappa has quit [Ping timeout: 268 seconds]
gravicappa has joined #ocaml
Haudegen has joined #ocaml
oni-on-ion has joined #ocaml
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #ocaml
AtumT has joined #ocaml
spew has joined #ocaml
<dmbaturin>
Is there a way to inject a custom key comparison function into a hashtbl at runtime? The hash is a part of a recursive type, so I can't use a functor.
<dmbaturin>
The original code relies on a fork of the hashtbl module for that.
<zozozo>
dmbaturin: provide the hashtbl functor with a comparison function that calls a funciton in a ref, then update the ref ?
FreeBirdLjj has joined #ocaml
<ggole>
Are you trying to do something like type value = Int of int | Table of ValueTbl.t where ValueTbl is a table keyed by type value?
<dmbaturin>
ggole: Yes.
<dmbaturin>
zozozo: The problem is that I can't supply the type to the functor, since it's mutually recursive with the hash, like ggole says.
<octachron>
It is one of the use case for recursive modules.
<ggole>
Yeah, this is possible, but ugly
<dmbaturin>
ggole: Can you think of a better solution, or just go with mutually recursive modules?
Anarchos has joined #ocaml
<Anarchos>
How to marshal the current opened module ?
<ggole>
I would just use recursive modules. Note that recursive modules have some pretty tight restrictions, so I would make a separate module just for Value and then open/include that as necessary
<octachron>
(with 4.08 the restriction on recursive modules should be properly explained by the error message)
<dmbaturin>
ggole: Thanks!
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
<ggole>
Might not be that efficient... it could be a good idea to allocate a table id and write a hash function that uses that rather than rely on Hashtbl.hash.
<dmbaturin>
ggole: My first goal is to resolve outstanding legacy code issues and get that thing into opam.
sonologico has joined #ocaml
mfp_ has quit [Ping timeout: 272 seconds]
nullifidian_ has quit [Read error: Connection reset by peer]
nullifidian_ has joined #ocaml
ziyourenxiang has quit [Ping timeout: 245 seconds]
Serpent7776 has joined #ocaml
freyr69 has quit [Remote host closed the connection]
KeyJoo has joined #ocaml
Birdface has quit [Remote host closed the connection]
Birdface has joined #ocaml
q9929t has joined #ocaml
sonologico has quit [Ping timeout: 244 seconds]
ekinmur has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
q9929t has quit [Quit: q9929t]
ggole has quit [Quit: Leaving]
barockobamo has quit [Remote host closed the connection]
jnavila has joined #ocaml
jnavila has quit [Ping timeout: 246 seconds]
jnavila has joined #ocaml
mfp_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
malina has quit [Ping timeout: 244 seconds]
FreeBirdLjj has quit [Ping timeout: 246 seconds]
tane has joined #ocaml
mfp_ has quit [Ping timeout: 246 seconds]
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
kakadu_ has joined #ocaml
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #ocaml
pierpal has joined #ocaml
<dmbaturin>
octachron: What's the correct syntax for recursive signatures for the .mli?
ekinmur has quit [Remote host closed the connection]
kakadu_ has quit [Remote host closed the connection]
rosterok has joined #ocaml
tane has quit [Quit: Leaving]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
oni-on-ion has quit [Ping timeout: 264 seconds]
vesper11 has joined #ocaml
jnavila has quit [Ping timeout: 252 seconds]
Birdface has quit [Ping timeout: 248 seconds]
Denommus has joined #ocaml
<dmbaturin>
Drup: FIY: I've just rid lua-ml from its fork of a 2004 hashtbl.ml
Netsu has joined #ocaml
<Netsu>
Is it possible to access record's scope like module's? Like `let _ : int * int = let r = { x = 4; y = 2 } in r.(x, y)`
<Netsu>
without boring (r.x, r.y)
<dmbaturin>
Why is it boring? :)
<Netsu>
yeah, I know, there's nice `ppx_fields_conv`. But without arrows applicative instance there's no way to share same record argument to all the field's getters.
<Netsu>
dmbaturin: boilerplate for sure
<Netsu>
it's like write full module path name for each the function
<dmbaturin>
It's a great idea, actually.
<dmbaturin>
As of records, I would consider need to frequently extract fields like that a code smell.
<dmbaturin>
If you want to match on a record, you can just match on a record.
<Netsu>
yeah, OCaml already have nice scope language for modules. It would be nice to have such ability to avoid boilerplate everywhere. Maybe nix/dhall languages would be also nice source of ideas of less verbal scope languages
<Netsu>
dmbaturin: `let f { abcde_1; abcde_2 } = { abcde_1; abcde_2; abcde_new = None }` is more verbal than `let f r = { r.abcde_1; r.abcde_2; abcde_new = None }`
<Netsu>
and surely than `let f r = r.{ abcde_1; abcde_2; abcde_new = None }`.
<Netsu>
...ideally it should be `let f = _.{ abcde_1; abcde_2; abcde_new = None }`.
<Netsu>
Also what is current implicit state in OCaml?
<Netsu>
What about modular implicits in compiler support, is it kinda ready for usage?
Jesin has quit [Quit: Leaving]
Jesin has joined #ocaml
<dmbaturin>
Compatible with dune in what way?
<dmbaturin>
There's no need for special support from dune's side, it should be just (preprocess (ppx ppx_implicits))
<dmbaturin>
* pps ppx_implicits
Netsu has quit [Remote host closed the connection]
Netsu has joined #ocaml
<Netsu>
dmbaturin: unfortunately, it doesn't work nor with `(pps` not with `(staged_pps`. AFAIK, it rely on type information. And dune require from ppx that it should be able to glued together with other ppx in single preprocess executable. In which way (by which library) -- I'm not sure yet.