adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.09 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.09/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
kleisli has joined #ocaml
analogue has joined #ocaml
malina has quit [Remote host closed the connection]
unyu has quit [Quit: reboot]
unyu has joined #ocaml
vicfred__ has quit [Quit: Leaving]
zewonder has joined #ocaml
mfp has quit [Ping timeout: 240 seconds]
AtumT has quit [Quit: AtumT]
silver has quit [Read error: Connection reset by peer]
nahra` has joined #ocaml
tormen has joined #ocaml
nahra has quit [Ping timeout: 276 seconds]
tormen_ has quit [Ping timeout: 268 seconds]
RalfJ has quit [Ping timeout: 246 seconds]
jao has quit [Ping timeout: 265 seconds]
Nikkel has quit [Ping timeout: 245 seconds]
RalfJ has joined #ocaml
analogue has quit [Quit: later]
vicfred has joined #ocaml
nahra`` has joined #ocaml
nahra` has quit [Ping timeout: 240 seconds]
nahra``` has joined #ocaml
nahra`` has quit [Ping timeout: 245 seconds]
Nikkel has joined #ocaml
dckc has joined #ocaml
<dckc> I've got a program that uses zarith. i'd like to debug it. clues?
<dckc> I gather ocamldebug needs my spotter.ml to be compiled first.
<dckc> I figured out `#require zarith;;` in the toplevel, but I don't see how to tell ocamlc likewise.
<dckc> I see how to install zarith on https://opam.ocaml.org/doc/Usage.html but I don't see how to tell ocamlc how to find it.
<dckc> picking a package at random, https://github.com/ayberkt/abt says to use jbuilder
<dckc> http://dev.realworldocaml.org/json.html says to use dune (though I'm struggling to find where the book introduces dune...)
<dckc> browsing random ocaml projects on github... https://github.com/mahsu/MariOCaml/blob/master/Makefile uses ocamlbuild
<dckc> I seem to have that installed
ggole has joined #ocaml
nahra```` has joined #ocaml
nahra``` has quit [Ping timeout: 240 seconds]
gravicappa has joined #ocaml
kleisli has quit [Ping timeout: 245 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 245 seconds]
narimiran has joined #ocaml
gravicappa has quit [Ping timeout: 240 seconds]
gravicappa has joined #ocaml
Serpent7776 has joined #ocaml
bartholin has quit [Remote host closed the connection]
mbuf has joined #ocaml
vicfred has quit [Quit: Leaving]
_whitelogger has joined #ocaml
bitwinery has quit [Quit: Leaving]
Haudegen has joined #ocaml
jaar has joined #ocaml
<Khady> any of you used redis for pubsub? I have the impression that ocaml-redis doesn't provide any abstraction on how to consume the messages after a subscription
nahra```` has quit [Ping timeout: 265 seconds]
mfp has joined #ocaml
sh0t has joined #ocaml
nahra has joined #ocaml
nahra` has joined #ocaml
nahra` has quit [Remote host closed the connection]
nahra has quit [Ping timeout: 265 seconds]
zewonder has quit [Ping timeout: 245 seconds]
zewonder has joined #ocaml
gareppa has joined #ocaml
malc_ has joined #ocaml
gareppa has quit [Quit: Leaving]
AtumT has joined #ocaml
nullifidian_ has joined #ocaml
malc_ has quit [Ping timeout: 240 seconds]
kleisli has joined #ocaml
nullifidian has quit [Ping timeout: 265 seconds]
jao has joined #ocaml
shakalaka has quit [Ping timeout: 268 seconds]
zolk3ri has joined #ocaml
malina has joined #ocaml
malc_ has joined #ocaml
<Leonidas> ocaml-redis is missing lots of commands
jaar has quit [Ping timeout: 276 seconds]
<pino|work> send patches ;)
zewonder has quit [Ping timeout: 268 seconds]
Nikkel has quit [Ping timeout: 276 seconds]
Nikkel has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
jaar has joined #ocaml
kleisli has quit [Ping timeout: 264 seconds]
dmiles has quit [Read error: Connection reset by peer]
ziyourenxiang has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
dmiles has joined #ocaml
jao has quit [Ping timeout: 265 seconds]
pino|work has quit [Quit: brb]
pino|work has joined #ocaml
AtumT has quit [Quit: AtumT]
Haudegen has joined #ocaml
nullifidian_ is now known as nullifidian
narimiran has quit [Ping timeout: 240 seconds]
<companion_cube> basic pubsub messages are just strings
<companion_cube> the stream API is supposedly a lot more sophisticated but indeed, they're not in the API (yet)
AtumT has joined #ocaml
Netsu has joined #ocaml
<Netsu> Hello there
<Netsu> is there any common way to derive object from record?
<Netsu> any ppx for that?
<Netsu> I see there's https://github.com/balez/generic but it not in OPAM yet, so not sure is it supported
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
FreeBirdLjj has joined #ocaml
averell has quit [Quit: .]
pgiarrusso has left #ocaml [#ocaml]
smazga has joined #ocaml
<Netsu> Or is there any ppx_deriving alternative for OCaml's object types?
<companion_cube> since few people use objects, I doubt so
TheRuralJuror has joined #ocaml
count3rmeasure has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
<Netsu> they could be useful since there's no common generic programming libraries/ppxs. E.g. in case when data models on several application layers have similar but slightly different records to reduce boilerplate (by using row-type polymorphism).
pino|work has quit [Quit: brb]
pino|work has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
averell has joined #ocaml
Netsu has quit [Ping timeout: 260 seconds]
Serpent7776 has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
kleisli has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
pino|work has quit [Quit: bye]
FreeBirdLjj has joined #ocaml
nullifidian_ has joined #ocaml
nullifidian has quit [Ping timeout: 240 seconds]
TheRuralJuror has quit [Quit: Bin weg.]
FreeBirdLjj has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
Serpent7776 has joined #ocaml
gareppa has joined #ocaml
oz has joined #ocaml
g0d_shatt3r has joined #ocaml
vicfred has joined #ocaml
nullifidian_ is now known as nullifidian
count3rmeasure has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
augfab has joined #ocaml
augfab has quit [Quit: leaving]
ziyourenxiang has quit [Ping timeout: 240 seconds]
g0d_shatt3r has quit [Quit: Leaving]
count3rmeasure has joined #ocaml
tane has joined #ocaml
kleisli has quit [Ping timeout: 250 seconds]
Haudegen has joined #ocaml
augfab has joined #ocaml
narimiran has joined #ocaml
jnavila has joined #ocaml
bartholin has joined #ocaml
tane_ has joined #ocaml
tane_ has quit [Remote host closed the connection]
liberiga has joined #ocaml
jaar has quit [Ping timeout: 240 seconds]
yomimono has joined #ocaml
FreeBirdLjj has joined #ocaml
gareppa has quit [Quit: Leaving]
kakadu has quit [Remote host closed the connection]
narimiran has quit [Remote host closed the connection]
andrewlitteken has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
analogue has joined #ocaml
<cemerick> is it possible for me to constrain a type within a module signature such that implementing structures must be defined to be a subset of a polymorphic variant?
<cemerick> I thought marking the signature type as private would do it, but no: https://gist.github.com/cemerick/e38c339cbbb6f7bab05882d853479af6
<cemerick> My objective is to be able to coerce values to the (wider) signature type, outside of various implementations
<ggole> module M : sig type 'a t = private [< `A | `B ] end = struct type 'a t = [`A] end
<ggole> Might not do what you want though
gareppa has joined #ocaml
count3rmeasure has quit [Quit: Leaving]
malina has quit [Ping timeout: 240 seconds]
AtumT_ has joined #ocaml
Netsu has joined #ocaml
AtumT has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
AtumT has joined #ocaml
AtumT_ has quit [Ping timeout: 245 seconds]
zolk3ri has quit [Quit: leaving]
Netsu has quit [Remote host closed the connection]
apostolis has joined #ocaml
<apostolis> Hello, is there any good hash function in ocaml? It will take strings and compress them into a key of a database.
jao has joined #ocaml
<companion_cube> you mean, like, sha1 ? :D
<apostolis> I think, something like murmur3, but sha1 is ok as well.
<companion_cube> ah, well, I think Hashtbl.hash is based on murmur3?
<apostolis> Yes.
<companion_cube> so you can just use that :p
<apostolis> It seems though that the key is 64bit.
<companion_cube> the key is any value
<apostolis> or less.
<companion_cube> Hashtbl.hash : 'a -> int
<apostolis> int has maximum size 64 bits.
<companion_cube> well the output, indeed (63 bits actually)
gareppa has quit [Quit: Leaving]
<apostolis> That is why I would prefer to have an implementation where I could control the length of the key.
<apostolis> Let us hope this works : https://github.com/ahrefs/ocaml-murmur3
gravicappa has quit [Ping timeout: 245 seconds]
Jesin has quit [Quit: Leaving]
<companion_cube> best case you case 2 ints, not one
<companion_cube> why not just use sha256 or something?
<apostolis> I think murmur3 is very fast.
Jesin has joined #ocaml
ggole has quit [Quit: Leaving]
malina has joined #ocaml
andrewlitteken has quit [Quit: Connection closed for inactivity]
analogue has quit [Remote host closed the connection]
kleisli has joined #ocaml
apostolis has quit [Quit: WeeChat 2.3]
kakadu has quit [Remote host closed the connection]
malc_ has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
nullifidian_ has joined #ocaml
tane has quit [Quit: Leaving]
nullifidian has quit [Ping timeout: 276 seconds]
ygrek has quit [Ping timeout: 245 seconds]
nullifidian_ is now known as nullifidian
igitoor has quit [Ping timeout: 276 seconds]
igitoor has joined #ocaml
igitoor has quit [Changing host]
igitoor has joined #ocaml
sh0t has quit [Quit: Leaving]
traviss has joined #ocaml
Travis__ has joined #ocaml
Travis__ has quit [Client Quit]
traviss has quit [Client Quit]
traviss has joined #ocaml
laudecay has joined #ocaml
traviss has quit [Client Quit]
traviss has joined #ocaml
Travis__ has joined #ocaml
zolk3ri has joined #ocaml
zolk3ri has quit [Client Quit]
traviss has quit [Client Quit]
Travis__ has quit [Client Quit]
traviss has joined #ocaml
Traviss__ has joined #ocaml
<laudecay> im having trouble linking stuff, does dune follow symlinked so files?
<laudecay> like ".messages.inline-tests/run.exe: error while loading shared libraries: libsodium.so.23: cannot open shared object file: No such file or directory"
<laudecay> where even does it look in env variables
Serpent7776 has quit [Quit: leaving]
<cemerick> ggole: I'm not sure what `'a t` means there insofar as `'a` is unused?
<cemerick> ah, they quit :-)
liberiga has quit [Remote host closed the connection]
nahra has joined #ocaml
<cemerick> but I _think_ it does work, will have to figure out why next lol
malina has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
laudecay has quit [Read error: Connection reset by peer]
laudecay has joined #ocaml
<laudecay> anybody
kleisli has quit [Ping timeout: 240 seconds]
smazga has quit [Quit: leaving]
<laudecay> so i'm building with gcc and -lsodium and everything's fine, then in the same terminal (so same environment) i run dune runtest on a library and it can't find the so files that it needs to properly get the functions i'm calling in my c bindings.
<laudecay> i'm linking in with -lsodium and like same compile flags
<laudecay> like how does it differ?
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
<laudecay> jk my caml_library_ld_preload
<laudecay> was fukt
cobreadmonster has joined #ocaml
Exagone313 has quit [Quit: see ya!]
Exagone313 has joined #ocaml
Traviss__ has quit [Quit: Leaving]
Traviss__ has joined #ocaml
bitwinery has joined #ocaml
yomimono has quit [Quit: Lost terminal]
laudecay has quit [Read error: Connection reset by peer]
traviss has quit [Quit: Leaving]
Traviss__ has quit [Quit: Leaving]