rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
raskol has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
trev has joined #ocaml
gopiandc1 has quit [Ping timeout: 255 seconds]
gopiandc1 has joined #ocaml
mbuf has joined #ocaml
williewillus has quit [Ping timeout: 244 seconds]
John_Ivan_ has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rwmjones_ has joined #ocaml
adanwan has quit [Ping timeout: 268 seconds]
rwmjones has quit [Ping timeout: 252 seconds]
adanwan has joined #ocaml
azimut_ has joined #ocaml
azimut has quit [Ping timeout: 268 seconds]
jpds1 has quit [Ping timeout: 268 seconds]
adanwan has quit [Client Quit]
jpds1 has joined #ocaml
adanwan has joined #ocaml
Serpent7776 has joined #ocaml
Techcable has joined #ocaml
azimut_ has quit [Ping timeout: 268 seconds]
azimut has joined #ocaml
bartholin has joined #ocaml
Miyu-saki is now known as Myrl
gopiandc1 has quit [Ping timeout: 268 seconds]
jlrnick has joined #ocaml
gopiandc1 has joined #ocaml
olle has joined #ocaml
jlrnick has quit [Remote host closed the connection]
jlrnick has joined #ocaml
jpds1 has quit [Remote host closed the connection]
jpds1 has joined #ocaml
wonko has joined #ocaml
adanwan has quit [Quit: _]
jlrnick has quit [Ping timeout: 248 seconds]
azimut has quit [Ping timeout: 268 seconds]
adanwan has joined #ocaml
gopiandc1 has quit [Ping timeout: 248 seconds]
gopiandc1 has joined #ocaml
Haudegen has joined #ocaml
kurfen has quit [Read error: Connection reset by peer]
kurfen has joined #ocaml
jpds1 has quit [Ping timeout: 268 seconds]
jpds1 has joined #ocaml
wonko has quit [Ping timeout: 244 seconds]
gopiandc1 has quit [Ping timeout: 268 seconds]
gopiandc1 has joined #ocaml
mima has joined #ocaml
berberman_ has quit [Ping timeout: 244 seconds]
orbifx has joined #ocaml
wonko has joined #ocaml
spip has joined #ocaml
bobo_ has quit [Ping timeout: 256 seconds]
gwizon has joined #ocaml
gopiandc1 has quit [Ping timeout: 248 seconds]
gopiandc1 has joined #ocaml
wonko has quit [Ping timeout: 255 seconds]
jlrnick has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
rwmjones_ is now known as rwjones
rwjones is now known as rwmjones
jpds1 has quit [Remote host closed the connection]
jpds1 has joined #ocaml
xgqt has quit [Ping timeout: 256 seconds]
xgqt has joined #ocaml
raskol has joined #ocaml
gwizon has quit [Ping timeout: 244 seconds]
waleee has joined #ocaml
jlrnick has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 255 seconds]
waleee has joined #ocaml
John_Ivan_ has joined #ocaml
rgrinberg has joined #ocaml
raskol has quit [Ping timeout: 268 seconds]
nvaxplus has joined #ocaml
<nvaxplus>
back with another ppx question: I'm writing a deriver for a custom serialization format, is there an accepted way to handle a "network" (so to speak) of types that span multiple modules?
waleee has quit [Ping timeout: 248 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
Serpent7776 has quit [Quit: WeeChat 1.9.1]
raskol has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
raskol has quit [Ping timeout: 268 seconds]
<companion_cube>
generally people use naming conventions
<companion_cube>
you assume that type `Foo.bar` will have `Foo.encode_mything_bar`
<companion_cube>
(see: ppx_deriving_yojson, for example)
rgrinberg has joined #ocaml
noonien has quit [Ping timeout: 268 seconds]
<sim642>
Since it's all syntactic per file, you don't even know about what modules and types are out there
<nvaxplus>
I see
szkl has quit [Quit: Connection closed for inactivity]
<sim642>
And AFAIK the ppx executable is run separately per file, so there's no memory between them
<nvaxplus>
I see. I was going to try and use a hash table to track state but I suppose that's impossible then
<sim642>
So yeah, you just assume that a particular function for that type exists and generate code that uses it
<nvaxplus>
Alright cool that makes sense
<sim642>
If that function doesn't exist, the compiler will later scream
<nvaxplus>
right
<nvaxplus>
I've been trying to figure out the best way to deal with polymorphic variant inclusion since I make heavy use of that in my particular app
<sim642>
I think it's the same as usual, just assume a function corresponding to the included type's name