adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.06.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.06/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
spew has quit [Quit: Leaving]
argent_smith has quit [Quit: Leaving.]
dreadedfrog has quit [Ping timeout: 255 seconds]
spew has joined #ocaml
infinity0 has joined #ocaml
infinity0 has joined #ocaml
infinity0 has quit [Changing host]
orbifx[m] has quit [Remote host closed the connection]
regnat[m] has quit [Remote host closed the connection]
spew has quit [Ping timeout: 260 seconds]
zolk3ri has quit [Quit: Lost terminal]
aspiwack[m] has joined #ocaml
orbifx[m] has joined #ocaml
nadako[m] has joined #ocaml
peddie[m] has joined #ocaml
M-martinklepsch has joined #ocaml
hdurer[m] has joined #ocaml
Bluddy[m] has joined #ocaml
samrat[m] has joined #ocaml
aantron has joined #ocaml
equalunique[m] has joined #ocaml
srenatus has joined #ocaml
drsmkl[m] has joined #ocaml
M-jimt has joined #ocaml
smondet[m] has joined #ocaml
multiocracy[m] has joined #ocaml
ansiwen[m] has joined #ocaml
rgr[m] has joined #ocaml
nkhodyunya has joined #ocaml
M-x-matrix[m] has joined #ocaml
regnat[m] has joined #ocaml
isaachodes[m] has joined #ocaml
copy` has joined #ocaml
M-ErkkiSeppl has joined #ocaml
yetanotherion[m] has joined #ocaml
axesd9 has joined #ocaml
dreadedfrog has joined #ocaml
cbot has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
orbifx has quit [Ping timeout: 248 seconds]
spew has joined #ocaml
cthuluh has quit [Ping timeout: 248 seconds]
whoman has quit [Remote host closed the connection]
spew has quit [Remote host closed the connection]
spew has joined #ocaml
cthuluh has joined #ocaml
sh0t has quit [Read error: Connection reset by peer]
sh0t has joined #ocaml
axesd9 has quit [Quit: WeeChat 2.0]
whoman has joined #ocaml
sh0t has quit [Ping timeout: 248 seconds]
nomicflux has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
raphaelss has joined #ocaml
<kerrhau> is there any networking library outside of janestreet's?
<kerrhau> for TCP connections
<kerrhau> or even UNIX sockets
mfp has quit [Ping timeout: 250 seconds]
sh0t has joined #ocaml
jimmyrcom_ has quit [Remote host closed the connection]
jimmyrcom_ has joined #ocaml
silver has quit [Read error: Connection reset by peer]
gpietro has joined #ocaml
sh0t has quit [Ping timeout: 240 seconds]
gpietro has quit [Remote host closed the connection]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
nomicflux has quit [Quit: nomicflux]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
<smondet[m]> kerrhau: there is the `unix` library disributed with OCaml, there is the whole `Lwt` framework (incl `lwt-unix`), there is `ocamlnet`, ...
<smondet[m]> and then MirageOS has an actual implementation of TCP (doesn't need the OS's stack)
pierpa has quit [Quit: Page closed]
whoman has quit [Remote host closed the connection]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
spew has quit [Read error: Connection reset by peer]
jao has quit [Ping timeout: 240 seconds]
malina has quit [Remote host closed the connection]
mbuf has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
cbot has quit [Quit: Leaving]
malina has joined #ocaml
kerrhau has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
KeyJoo has joined #ocaml
zmt00 has quit [Quit: Leaving]
malina has quit [Quit: Throwing apples of Montserrat]
enterprisey has quit [Read error: Connection reset by peer]
dreadedfrog has joined #ocaml
antismap has quit [Ping timeout: 248 seconds]
dreadedfrog has quit [Ping timeout: 248 seconds]
BitPuffin|osx has joined #ocaml
malina has joined #ocaml
malina has quit [Client Quit]
grandy____ has quit [Ping timeout: 246 seconds]
wickedshell has quit [Ping timeout: 246 seconds]
bigs has quit [Read error: Connection reset by peer]
caw__ has quit [Read error: Connection reset by peer]
dch has quit [Read error: Connection reset by peer]
bigs has joined #ocaml
dch has joined #ocaml
Muzer has quit [Ping timeout: 246 seconds]
caw__ has joined #ocaml
sveit has quit [Ping timeout: 246 seconds]
cbarrett has quit [Ping timeout: 246 seconds]
wickedshell has joined #ocaml
M-martinklepsch has quit [Ping timeout: 246 seconds]
samrat[m] has quit [Ping timeout: 246 seconds]
nadako[m] has quit [Ping timeout: 246 seconds]
hdurer[m] has quit [Ping timeout: 246 seconds]
cschneid- has quit [Ping timeout: 246 seconds]
grandy____ has joined #ocaml
cschneid has joined #ocaml
sveit has joined #ocaml
Bluddy[m] has quit [Ping timeout: 250 seconds]
ansiwen[m] has quit [Ping timeout: 240 seconds]
peddie[m] has quit [Ping timeout: 248 seconds]
aantron has quit [Ping timeout: 255 seconds]
nkhodyunya has quit [Ping timeout: 252 seconds]
isaachodes[m] has quit [Ping timeout: 252 seconds]
smondet[m] has quit [Ping timeout: 255 seconds]
drsmkl[m] has quit [Ping timeout: 240 seconds]
M-x-matrix[m] has quit [Ping timeout: 240 seconds]
multiocracy[m] has quit [Ping timeout: 255 seconds]
orbifx[m] has quit [Ping timeout: 255 seconds]
rgr[m] has quit [Ping timeout: 255 seconds]
copy` has quit [Ping timeout: 248 seconds]
M-ErkkiSeppl has quit [Ping timeout: 276 seconds]
yetanotherion[m] has quit [Ping timeout: 276 seconds]
regnat[m] has quit [Ping timeout: 276 seconds]
equalunique[m] has quit [Ping timeout: 255 seconds]
M-jimt has quit [Ping timeout: 264 seconds]
srenatus has quit [Ping timeout: 264 seconds]
aspiwack[m] has quit [Ping timeout: 255 seconds]
Muzer has joined #ocaml
john51 has quit [Read error: Connection reset by peer]
john51 has joined #ocaml
sz0 has joined #ocaml
nahra has quit [Remote host closed the connection]
dreadedfrog has joined #ocaml
nahra has joined #ocaml
dreadedfrog has quit [Ping timeout: 246 seconds]
raphaelss has quit [Remote host closed the connection]
sepp2k has joined #ocaml
dtornabene has joined #ocaml
KeyJoo has quit [Ping timeout: 248 seconds]
mbuf has quit [Quit: Leaving]
rbocquet has quit [Ping timeout: 258 seconds]
freusque has quit [Quit: WeeChat 1.9.1]
TarVanimelde has joined #ocaml
rbocquet has joined #ocaml
freusque has joined #ocaml
AltGr has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
iitalics has joined #ocaml
<iitalics> hello.
<iitalics> is there an attribute i can play to prevent certain warnings? especially "unused variable" warning
<iitalics> *place
<iitalics> or do i have to find some other way to trick ocaml into thinking its used
<def`> if you prefix the variable name with "_" it won't complain
<def`> you can use "ignore my_variable" to trick it into thinking it is used
<iitalics> hm.
<def`> you can disable unused check warnings, see ocamlc -warn-help
<def`> then either pass -w -<number>
<iitalics> i'm writing a ppx and it sometimes turns pattern variables into let-bound variables
<iitalics> and it's just odd because it may emit "unused" warnings even though you usually do'nt get those for patterns
<iitalics> i could generate ignore's, but that seems overkill
<iitalics> an attribute would be really nice
<iitalics> this means underscore prefix is not an option
<def`> or use attribute [@ocaml.warning "-<number>"]
<def`> (I was checking that it actually works :P)
<iitalics> that should work then
<iitalics> thanks
Algebr has joined #ocaml
johnelse has joined #ocaml
cbarrett has joined #ocaml
malc_ has joined #ocaml
raphaelss has joined #ocaml
iitalics has quit [Quit: WeeChat 2.0]
dreadedfrog has joined #ocaml
mk9 has joined #ocaml
aspiwack[m] has joined #ocaml
johnelse_ has joined #ocaml
sz0 has quit [Quit: Connection closed for inactivity]
dreadedfrog has quit [Ping timeout: 255 seconds]
johnelse has quit [Ping timeout: 255 seconds]
hdurer[m] has joined #ocaml
samrat[m] has joined #ocaml
Bluddy[m] has joined #ocaml
orbifx[m] has joined #ocaml
peddie[m] has joined #ocaml
drsmkl[m] has joined #ocaml
aantron has joined #ocaml
equalunique[m] has joined #ocaml
M-martinklepsch has joined #ocaml
M-jimt has joined #ocaml
srenatus has joined #ocaml
smondet[m] has joined #ocaml
ansiwen[m] has joined #ocaml
rgr[m] has joined #ocaml
multiocracy[m] has joined #ocaml
nadako[m] has joined #ocaml
isaachodes[m] has joined #ocaml
M-x-matrix[m] has joined #ocaml
M-ErkkiSeppl has joined #ocaml
nkhodyunya has joined #ocaml
regnat[m] has joined #ocaml
copy` has joined #ocaml
yetanotherion[m] has joined #ocaml
ia0 has quit [Quit: reboot]
ia0 has joined #ocaml
TarVanimelde has quit [Quit: TarVanimelde]
andreas_ has joined #ocaml
KeyJoo has joined #ocaml
mk9 has quit [Quit: mk9]
Jesin has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
serpent7776 has joined #ocaml
raphaelss has quit [Remote host closed the connection]
dreadedfrog has quit [Ping timeout: 248 seconds]
mbuf has joined #ocaml
kakadu has joined #ocaml
ziyourenxiang has joined #ocaml
dtornabene has quit [Remote host closed the connection]
mfp has joined #ocaml
igarnier has joined #ocaml
<igarnier> Hi everyone
<igarnier> I have a sitution where a package (namely Py.ml, pyml under opam) includes a module which is not accessible from my program when I compile with jbuilder. I suspect that jbuilder only makes visible the the entrypoint of the library. Am I right? If so, how to circumvent this?
<igarnier> to be complete, the module in question is Numpy
yaewa has joined #ocaml
moei has quit [Ping timeout: 268 seconds]
<octachron> igarnier, have you tried "Pyml.Numpy" (i.e. "Library_name.module_name")?
dreadedfrog has joined #ocaml
<igarnier> octachron: pyml is unbound, only the py module seems to be exported
argent_smith has joined #ocaml
silver has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
johnelse has joined #ocaml
haesbaert has joined #ocaml
johnelse_ has quit [Ping timeout: 246 seconds]
<igarnier> and looking at the example on http://pyml.gforge.inria.fr/, the Py and Numpy modules should be on the same level
<octachron> It seems that the numpy module is packaged in a separated archive. Can you use the Pycaml or Pywrappers module?
maattdd_ has quit [Ping timeout: 255 seconds]
sz0 has joined #ocaml
maattdd_ has joined #ocaml
_andre has joined #ocaml
Algebr has quit [Ping timeout: 276 seconds]
shinnya has joined #ocaml
superherointj has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 260 seconds]
zolk3ri has joined #ocaml
dreadedfrog has joined #ocaml
<igarnier> octachron: no. Is there a tool to list the exported modules from a cmxa?
<igarnier> (if that makes sense)
<Drup> igarnier: ocamlobjinfo
<Drup> note that cmxa are not concerned by *typing*, this are only the compilation/runtime part
<Drup> the modules that are "visible" are precisely the one where a .cmi exists
<igarnier> right, thanks Drup, that's super useful to know. octachron : I was wrong, I can indeed access the Pycaml module (I trusted merlin but didn't recompile beforehand - stupid)
maattdd_ has quit [Quit: WeeChat 2.0]
maattdd has joined #ocaml
<igarnier> indeed, I have no numpy.cmi in my ~/.opam, even though the file is present in the directory where I built the lib - so I guess it's a problem during package installation
<kakadu> can we say this type is regular? type ('a,'b) t = A | B of ('a, int) t
maattdd has quit [Client Quit]
maattdd has joined #ocaml
<kakadu> Googling explanation makes me to think that answer is yes, but the type doesn't look terrible wrong to break everything
<companion_cube> it's clearly not regular
<companion_cube> it's a GADT
<Drup> it's not a gadt :p
<companion_cube> or, wait, maybe not even that
<companion_cube> 'b is not bound…
<kakadu> Thanks, Drup, I thought for a second that I don't know anything about types .... :)
<Drup> kakadu: I don't think it's regular because you need polymorphic recursion to walk through it
maattdd has quit [Client Quit]
<kakadu> So the explanation "... occurrences of the declared type on the right-hand side of the defining equation are restricted to copies of the left-hand side" should be absolutely correct
maattdd has joined #ocaml
<kakadu> And I need explicit type annotation to make polymorphic recursion from non-polymorphic, right?
<kakadu> let rec iter: 'a 'b . ('a, 'b) t -> unit = function A -> () | B x -> iter x;;
<def`> or you can unfold the one polymorphic case
<Drup> Well, in that particular case, you could unfold, but in general, you need annotations
<def`> let rec iter = function A -> () | B x -> iter x let iter = function A -> () | B x -> iter x
nomicflux has joined #ocaml
<Drup> A "cooler" irregular type (from Okasaki) is type 'a t = Empty | Node of 'a * ('a * 'a) t
nicoo has quit [Write error: Connection reset by peer]
superherointj has quit [Quit: Leaving]
nicoo has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
nomicflux has quit [Quit: nomicflux]
yaewa has quit [Quit: Leaving...]
moei has joined #ocaml
nomicflux has joined #ocaml
jjido has joined #ocaml
nomicflux has quit [Quit: nomicflux]
mbuf has quit [Quit: Leaving]
<kakadu> can you recommend an operator like (|||) such that the code `a;b ||| c;d` will be parsed as `(a;b) ||| (c;d)`
* kakadu is trying to migrate a camlp5 syntax extension to PPX one
* kakadu is using jbuilder for the first time in context of recent Rudi's blog post
<rgrinberg> \o/
<kakadu> it doesn't look terrible and it's good
<malc_> kakadu: what's the url for the blog?
<malc_> kakadu: thanks
axesd9 has joined #ocaml
axesd9 has quit [Quit: WeeChat 2.0]
axesd9 has joined #ocaml
<Drup> kakadu: there aren't any
mrkgnao has joined #ocaml
wagle has quit [Remote host closed the connection]
wagle has joined #ocaml
nalc has joined #ocaml
axesd9 has quit [Quit: WeeChat 2.0]
dreadedfrog has quit [Ping timeout: 255 seconds]
sh0t has joined #ocaml
dreadedfrog has joined #ocaml
johnelse_ has joined #ocaml
johnelse has quit [Ping timeout: 240 seconds]
superherointj has joined #ocaml
dreadedfrog has quit [Ping timeout: 260 seconds]
Jesin has joined #ocaml
johnelse_ has quit [Read error: No route to host]
Fardale has quit [Quit: Fardale]
Fardale has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
superherointj has quit [Write error: Connection reset by peer]
superherointj has joined #ocaml
nalc has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
averell has joined #ocaml
dreadedfrog has joined #ocaml
KeyJoo has quit [Quit: Good luck! Have a nice Day!]
KeyJoo has joined #ocaml
johnelse has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
sepp2k has quit [Quit: Leaving.]
superherointj has quit [Quit: Leaving]
zmt00 has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 255 seconds]
Jesin has quit [Remote host closed the connection]
serpent7776 has quit [Quit: Leaving]
johnelse has quit [Ping timeout: 248 seconds]
jao has joined #ocaml
spew has joined #ocaml
raphaelss has joined #ocaml
FreeBirdLjj has joined #ocaml
jjido has quit [Quit: Leaving]
ziyourenxiang has quit [Ping timeout: 260 seconds]
johnelse has joined #ocaml
nalc has joined #ocaml
jbrown has quit [Quit: Leaving]
jbrown has joined #ocaml
zolk3ri is now known as ZOLK3RI
mrkgnao has quit [Ping timeout: 240 seconds]
jbrown has quit [Remote host closed the connection]
nicoo has quit [Ping timeout: 248 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
kakadu has quit [Quit: Konversation terminated!]
<reynir> They could perhaps abuse `let' for this
sh0t has quit [Remote host closed the connection]
gpietro has joined #ocaml
gpietro has quit [Remote host closed the connection]
gpietro has joined #ocaml
barcabuona has quit [Quit: WeeChat 1.9.1]
nicoo has joined #ocaml
nalc has quit [Quit: Textual IRC Client: www.textualapp.com]
AltGr has left #ocaml [#ocaml]
malina has joined #ocaml
malina has quit [Remote host closed the connection]
<igarnier> while we're discussing syntax extensions, I have a slightly tengential question: does anyone know whether infix type names (generalising ->) were ever discussed as a possible language extension? It would be nice for Kleisli arrows, for instance.
<companion_cube> nooooo, no category theory in OCaml, please ^^
<companion_cube> (joke aside, no idea if it's been considered)
malina has joined #ocaml
kakadu has joined #ocaml
Jesin has joined #ocaml
slash^ has joined #ocaml
_andre has quit [Quit: leaving]
malina has quit [Ping timeout: 248 seconds]
raphaelss has quit [Quit: Leaving]
gpietro has quit [Quit: Leaving]
slash^ has quit [Read error: Connection reset by peer]
sz0 has quit [Quit: Connection closed for inactivity]
axesd9 has joined #ocaml
malina has joined #ocaml
jnavila has joined #ocaml
kerrhau has joined #ocaml
kerrhau has quit [Changing host]
kerrhau has joined #ocaml
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
pierpa has joined #ocaml
igarnier has quit [Quit: Page closed]
dreadedfrog has quit [Ping timeout: 240 seconds]
johnelse has quit [Ping timeout: 248 seconds]
jao has quit [Ping timeout: 246 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 260 seconds]
argent_smith1 has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 268 seconds]
axesd9 has quit [Ping timeout: 248 seconds]
argent_smith has quit [Ping timeout: 248 seconds]
ayxih has quit [Quit: Leaving]
sh0t has joined #ocaml
shinnya has joined #ocaml
argent_smith has joined #ocaml
argent_smith1 has quit [Ping timeout: 248 seconds]
Jesin has quit [Quit: Leaving]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
trysound has quit [Quit: Connection closed for inactivity]
malina has quit [Ping timeout: 260 seconds]
argent_smith has quit [Ping timeout: 240 seconds]
jnavila has quit [Remote host closed the connection]
argent_smith has joined #ocaml
sh0t has quit [Remote host closed the connection]
sh0t has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
barcabuona has joined #ocaml
malina has joined #ocaml
<octachron> TIL: ' Format.printf "@[<%s %d> @{<%s%s> @} @]" "hov" 2 "atag" ' is valid and work as expected.
<companion_cube> really‽
<octachron> Yes. How is anyone supposed to infer THAT from the documentation?
<companion_cube> oh wow, true
<companion_cube> Format.printf "hello @{<%s>world@}@." "blue";; \o/
enterprisey has joined #ocaml
<companion_cube> (with containers)
<octachron> Between this, "%*.*d", "%( %s %)" (and "%{ }") ; there is so much mismatch between the implementation of format and its documentation
<companion_cube> :D
<companion_cube> write a blogpost, man
<companion_cube> and get rich
<octachron> With the amount of effort required by the implementation of "%( )" and its utterly dry description as an afterthought in Format.mli; I clearly should
<companion_cube> I don't even remember what that does
<companion_cube> please write a blogpost 0:-)
<companion_cube> or a series
<companion_cube> on the depths of Format
<companion_cube> or, also, contribute to the doc ♥
<companion_cube> that would be awesome
<companion_cube> with a bunch of examples, like in good man pages
<octachron> It allows to nest format: Format.printf "%( %s %s %) %( %s %)" "This is my %s %s" "first" "format" "Here is the %s" "second
<companion_cube> ouuuh
<companion_cube> ah right, you still have to duplicate the %
<companion_cube> so as to make types match
<companion_cube> still, please write some examples in doc :)
<octachron> Sure, once I am done with my translation plugin for the compiler
<companion_cube> you mean, for i18n ?
<octachron> yes, the idea is to add a small hook in the compiler for an internationalized version of kfprintf (and its plural form) and let plugins handle the implementation
<companion_cube> what languages do you want in there? :)
<octachron> Ideally and utopically? All languages used by sapients accross the universe? Specifically, none in particular
<companion_cube> oh, so you're acting on abstract principle ^^
<octachron> At the same time, making sure that error messages are translatable means limiting the number of word trick in error messages
<octachron> which means easier to read code in the compiler and no more tracking that a given "%s" specifier can be either "first" or "second" and nothing else
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 248 seconds]
dreadedfrog has joined #ocaml
kakadu_ has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
groovy2shoes has quit [Excess Flood]
spew has quit [Quit: Connection closed for inactivity]
groovy2shoes has joined #ocaml
KeyJoo has quit [Ping timeout: 248 seconds]