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
sz0_ has quit [Quit: Connection closed for inactivity]
<Fardale> an-tuan: I don't know but one solution is to try it and mesure the difference
<an-tuan> Fardale: thanks, it could work i try
rdavison has quit [Quit: rdavison]
FreeBirdLjj has joined #ocaml
<an-tuan> the dynamic one gave better results :/
FreeBirdLjj has quit [Ping timeout: 265 seconds]
solrize has joined #ocaml
jmagnusj has quit [Ping timeout: 276 seconds]
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0_ has joined #ocaml
infinity0 has quit [Killed (cherryh.freenode.net (Nickname regained by services))]
jmagnusj has joined #ocaml
cbot has joined #ocaml
groovy2shoes has quit [Ping timeout: 265 seconds]
groovy2shoes has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
Algebr has joined #ocaml
an-tuan has left #ocaml ["WeeChat 2.0"]
tautologico has joined #ocaml
nicooo has quit [Remote host closed the connection]
nicooo has joined #ocaml
jao has joined #ocaml
raduom has joined #ocaml
silver has quit [Read error: Connection reset by peer]
Algebr has quit [Remote host closed the connection]
raduom has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
raduom has joined #ocaml
shinnya has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
raduom has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
govg has quit [Ping timeout: 248 seconds]
rom1504 has quit [Ping timeout: 252 seconds]
rbocquet has quit [Ping timeout: 265 seconds]
FreeBirdLjj has joined #ocaml
M-x-matrix[m] has joined #ocaml
rbocquet has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
rom1504 has joined #ocaml
mfp has quit [Ping timeout: 240 seconds]
pierpa has joined #ocaml
shinnya has quit [Ping timeout: 276 seconds]
sz0_ has joined #ocaml
govg has joined #ocaml
simon has quit [Ping timeout: 240 seconds]
simon has joined #ocaml
jbrown has quit [Ping timeout: 240 seconds]
KeyJoo has joined #ocaml
navaja has joined #ocaml
pierpa has quit [Quit: Page closed]
navaja has quit [Read error: Connection reset by peer]
KeyJoo has quit [Ping timeout: 260 seconds]
KeyJoo has joined #ocaml
jao has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
mbuf has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 276 seconds]
raduom has joined #ocaml
ygrek has joined #ocaml
kerrhau has quit [Ping timeout: 255 seconds]
cbot has quit [Quit: Leaving]
raduom has quit [Ping timeout: 248 seconds]
ygrek has quit [Ping timeout: 256 seconds]
MercurialAlchemi has joined #ocaml
freyr has joined #ocaml
mk9 has joined #ocaml
barcabuona has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
Guest5029 has joined #ocaml
KeyJoo has quit [Ping timeout: 260 seconds]
jimmyrcom has joined #ocaml
mengu has joined #ocaml
sh0t has joined #ocaml
ia0 has quit [Quit: reboot]
ia0 has joined #ocaml
authchir has joined #ocaml
<authchir> Hello, I am trying to install merlin using opam. I am running opam 1.2.2 on OCaml 4.06.0/cygwin. When compiling the dependency cppo.1.6.0, I get the following error message "Cannot load required shared library dllunix. Reason: dllunix.so: dynamic loading not supported on this platform."
<authchir> This error was triggered by `jbuilder build -p cppo -j 4` when trying to run `/home/MDS7/.opam/4.06.0/bin/ocaml -I +compiler-libs -I /home/MDS7/.opam/4.06.0/lib/ocaml /home/MDS7/.opam/4.06.0/lib/ocaml/unix.cma /home/MDS7/.opam/4.06.0/build/cppo.1.6.0/_build/.jbuilds/default/src/jbuild.ml`
ohama has quit [Remote host closed the connection]
<authchir> Can I somehow configure jbuilder to use the unix library statically?
ohama has joined #ocaml
mengu has quit [Remote host closed the connection]
authchir has quit [Ping timeout: 260 seconds]
sepp2k has joined #ocaml
authchir has joined #ocaml
freusque has joined #ocaml
infinity0 has quit [Ping timeout: 268 seconds]
mengu has joined #ocaml
nicooo has quit [Remote host closed the connection]
nicooo has joined #ocaml
zv has quit [Quit: WeeChat 1.9]
BitPuffin has joined #ocaml
mk9 has joined #ocaml
ziyourenxiang has joined #ocaml
<def`> authchir: no idea, but it is worth reporting an issue on jbuilder
<def`> (if that's not already done)
infinity0 has joined #ocaml
<flux> hmm, don't ocaml libraries usually get compiled statically to ocaml native binaries?
<def`> dllunix.so contains the C stubs, no?
BitPuffin has quit [Remote host closed the connection]
<flux> but I think it's linked still in. even a minimal Unix-using program compiled with ocamlfind ocamlopt -o foo -package unix -linkpkg foo.ml just has dynamic links to system libraries, not dllunix.so
<flux> foo.ml for your copy-pasting pleasures: let _ = Printf.printf "%f\n" (Unix.time())
BitPuffin has joined #ocaml
mengu has quit [Remote host closed the connection]
<flux> also strace -e file reveals no runtime hankypanky with additional files ;)
<def`> but in this case it is calling the interpreter (ocaml) not the native compiler
<flux> excellent point, context is everything :). so it seems it should be fixable in jbuilder.
<authchir> I just created an issue on the jbuilder tracker: https://github.com/janestreet/jbuilder/issues/399
bramford has joined #ocaml
mk9 has quit [Quit: mk9]
<bramford> I'm looking to write both a tcp server and a client. What library would be ideal for this (ideally with lwt)? Also, is the official inria doc example still valid? https://caml.inria.fr/pub/docs/oreilly-book/html/book-ora187.html
mk9 has joined #ocaml
authchir has quit [Ping timeout: 260 seconds]
authchir has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
<johnelse> bramford: That example looks fine to me. If you want to use lwt, have a look at Lwt_unix which is basically an lwt-ified version of the Unix library: https://ocsigen.org/lwt/api/Lwt_unix
mk9 has quit [Quit: mk9]
nullifidian has quit [Read error: Connection reset by peer]
infinity0 has quit [Remote host closed the connection]
mengu has joined #ocaml
TheLemonMan has joined #ocaml
infinity0 has joined #ocaml
<bramford> johnelse: Thanks, just going through it now. Looks like it was written for OCaml 3.X but a few changes and I've got it compiled in 4.04.2.
kakadu has joined #ocaml
andreas_ has joined #ocaml
nullifidian has joined #ocaml
mk9 has joined #ocaml
_andre has joined #ocaml
mfp has joined #ocaml
silver has joined #ocaml
mk9 has quit [Quit: mk9]
mengu has quit [Remote host closed the connection]
nullifidian has quit [Remote host closed the connection]
nullifidian has joined #ocaml
mengu has joined #ocaml
raduom has joined #ocaml
mbuf has quit [Quit: Leaving]
KeyJoo has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
authchir has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
<Leonidas> How do I get jbuilder runtest to run tests twice?
<Leonidas> Whenever I run them, they run once but next time I call jbuilder runtest it just does nothing
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
cuicui has joined #ocaml
steve_gh has joined #ocaml
shinnya has joined #ocaml
Guest5029 has quit [Remote host closed the connection]
leah2 has quit [Quit: trotz alledem!]
leah2 has joined #ocaml
leah2 has quit [Quit: trotz alledem!]
averell has quit [Ping timeout: 252 seconds]
mk9 has joined #ocaml
zolk3ri has joined #ocaml
mengu has quit [Remote host closed the connection]
mk9 has quit [Ping timeout: 268 seconds]
_andre has quit [Read error: No route to host]
_andre has joined #ocaml
raduom has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Ping timeout: 276 seconds]
MercurialAlchemi has joined #ocaml
mengu has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
mk9 has joined #ocaml
mk9 has quit [Remote host closed the connection]
leah2 has joined #ocaml
Haudegen has joined #ocaml
jbrown has joined #ocaml
jbrown has quit [Ping timeout: 276 seconds]
Jesin has quit [Quit: Leaving]
jbrown has joined #ocaml
navaja has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Remote host closed the connection]
<rgrinberg> There's a --force option in jbuilder#master
<rgrinberg> You can pin or wait for a release
mengu has quit [Remote host closed the connection]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
navaja has quit [Read error: Connection reset by peer]
liu has quit [Ping timeout: 252 seconds]
emliunix has joined #ocaml
<orbifx[m]> any ocaml-dns devs here?
oschwald has joined #ocaml
<orbifx[m]> or mirage-dns if you prefer
<steve_gh> Should shared constraints be transitive. So if I instantiate X: X_intf with type t = a, then use a functor togit status
averell has joined #ocaml
oschwald has left #ocaml [#ocaml]
<reynir> orbifx[m]: what is your question?
<orbifx[m]> reynir: if there is support for dns-sd (service discovery). A cursory look suggested that it does, but it's not clear.
dtornabene has joined #ocaml
trysound has joined #ocaml
mengu has joined #ocaml
emias has quit [Ping timeout: 265 seconds]
jbrown has quit [Ping timeout: 260 seconds]
<dtornabene> any suggestions on navigating jane streets docs for a relative newb? I'm used to much much more ... verbose(?) documentation.
zolk3ri has quit [Ping timeout: 265 seconds]
zolk3ri has joined #ocaml
shinnya has quit [Ping timeout: 256 seconds]
emias has joined #ocaml
<steve_gh> Is it possible to do destructive substitution of modules? So if I have a module type X_intf : sig module Y : Y_intf end, is it possible to setup the functor X( YY: Y_intf) -> X_intf so that YY should be destructively substituted for Y in X ?
<orbifx[m]> steve_gh: what do you mean by "destructive substitution"?
<steve_gh> @orbifix[m]. I could do something like module X : X_intf with type t := int, where the := gives destructive substitution rather than a shared constraint (which would be module X : X_intf with type t = int)
<steve_gh> So what I am wondering is : is there a way of doing destructive substitution of modules
t4nk803 has joined #ocaml
jbrown has joined #ocaml
Phlogistique has quit [Read error: Connection reset by peer]
mk9 has joined #ocaml
<companion_cube> you might copy the module, and hide the old one
aciniglio has joined #ocaml
sz0_ has quit [Quit: Connection closed for inactivity]
jbrown has quit [Ping timeout: 264 seconds]
mengu has quit [Remote host closed the connection]
<octachron> steve_gh, modules can be destructively substituted in module types: module type s = t with module M:=N
MercurialAlchemi has quit [Ping timeout: 248 seconds]
mengu has joined #ocaml
FreeBirdLjj has joined #ocaml
ziyourenxiang has quit [Quit: Leaving]
mk9 has quit [Ping timeout: 246 seconds]
freyr has quit [Remote host closed the connection]
<t4nk803> If anyone here has Ocsigenserver/Eliom experience: I recently ran opam upgrade, which upgraded Eliom 5 to 6.2.0 along with a lot of packages. I started a new project using distillery, and wrote a new eliom file (based on an old one for eliom5). Everything compiles without complaint, but nothing works.
<t4nk803> Test.byte, test.opt, run.byte, run.opt all fail. Run.byte says "/.opam/4.02.3/bin/ocsigenserver: Permission denied" which makes no sense. Run.opt says "Config file not found - neither .opam/4.02.3/lib/findlib.conf nor the directory .opam/4.02.3/lib/findlib.conf.d" yet the config file does exist at that location.
<t4nk803> Setting an environment variable does not help, and if set incorrectly, complains about the bad target. I ensured the path includes the parent dir for the config file. I already invoke opam config env before doing anything. Any ideas what else I should try or what could be going wrong? Thanks.
<orbifx[m]> t4nk803: not familiar with Eliom, but did you try cleaning before building again?
<t4nk803> Yes; between builds I make clean...and it was a new project...started out clean too.
ziyourenxiang has joined #ocaml
<orbifx[m]> "/.opam/4.02.3/bin/ocsigenserver: Permission denied" <- Why is that? Missing +x or was it installed with a different user?
sh0t has quit [Ping timeout: 240 seconds]
<Drup> yeah, that sounds particularly weird
<t4nk803> Good question. Installed with my user, and it has +x. Although when trying this I have to run with sudo (while retaining the path so I can find ocsigenserver at all).
<t4nk803> It has +x for user, group and other.
<Drup> if that's for "run.*", that's expected, it tries to bind to port 80
<Drup> but for test, it binds to 8080, so it shouldn't need extra permissions
jao has joined #ocaml
<t4nk803> Ok, it seems that when I try to run make test.* I get permission denied some files under local, such as logs, that I should've have removed, or that make clean should remove. At any rate, after deleting, I can run test.opt but it fails loading a shared library with an undefined symbol...which I have to figure out.
<t4nk803> Forgot to mention...using opam 1.3~dev
john51 has quit [Remote host closed the connection]
jbrown has joined #ocaml
<steve_gh> Hi @ochtrachron. I get it, but can't make it work completely. Hopefully the following (abbreviated) code makes the problem (a signature mismatch) clear:
<steve_gh> module Distribution : functor (F : Core.Std.Floatable) -> Distribution_intf with module V := F module Transition : functor(DD: Distribution_intf) -> Transition_intf with module D := DD and module V := DD.V If I create an instance of floatable then work upwards module Discrete : Floatable with type t = int ... module DiscreteDistribution =Distribution(Discrete) module DiscreteTransition = Transition(DiscreteDistribution) The Discrete
<steve_gh> Hmm - lets try that a gain with some line breaks:
<steve_gh> module Distribution : functor (F : Core.Std.Floatable) -> Distribution_intf with module V := F
<steve_gh> module Transition : functor(DD: Distribution_intf) -> Transition_intf with module D := DD and module V := DD.V
<steve_gh> If I create an instance of floatable then work upwards
<steve_gh> module Discrete : Floatable with type t = int ...
<steve_gh> module DiscreteDistribution =Distribution(Discrete)
<steve_gh> module DiscreteTransition = Transition(DiscreteDistribution)
<steve_gh> The DiscreteTransition instantiation fails. The error is a signature mismatch : The module `V' is required but not provided
Jesin has joined #ocaml
mengu has quit [Remote host closed the connection]
john51 has joined #ocaml
<octachron> steve_gh, you erased the module V from the return type of Distribution, thus Distribution does not return a Distribution_intf
FreeBirdLjj has quit [Remote host closed the connection]
<steve_gh> @ochtrachron. Eh? You lost me! In Distribution? Isn't my destructive substitution essentially making V an alias for F (i.e. using F everywhere V is required)
mengu has joined #ocaml
<octachron> destructive substitution is as destructive as it sounds: it erases the corresponding item from the signature
tautologico has quit [Quit: Connection closed for inactivity]
<octachron> simple substitution "module V = F" adds the corresponding equation to signature and makes V an alias for F
<steve_gh> @ochtracron: Real World OCaml p185 "It's worth noting that the name is somewhat misleading, in that there's nothing destructive about destructive substitution; it's really just a way of creating a new signature by transforming an existing one."
tautologico has joined #ocaml
<steve_gh> A bit confusing, but your change works :-) Thxs
nicooo has quit [Remote host closed the connection]
nicooo has joined #ocaml
jimt has quit [Quit: leaving]
Haudegen has quit [Remote host closed the connection]
malc_ has joined #ocaml
jbrown has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #ocaml
Jesin has quit [Quit: Leaving]
sh0t has joined #ocaml
mengu has quit [Quit: Leaving...]
cuicui has quit [Quit: leaving]
al-damiri has joined #ocaml
jbrown has joined #ocaml
dtornabene has quit [Remote host closed the connection]
sepp2k has quit [Quit: Leaving.]
Haudegen has joined #ocaml
BitPuffin has quit [Ping timeout: 252 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
Haudegen has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
leah2 has quit [Ping timeout: 246 seconds]
leah2 has joined #ocaml
spew has quit [Quit: Connection closed for inactivity]
<seliopou> question: why isn't there a bigstring module in the stdlib?
<seliopou> Like is there a reason there isn't one or just nobody's written the PR?
jnavila has joined #ocaml
<flux> maybe because string size is less of an issue in 64 bit platforms. though companion_cube and jane street both seem to have one..
webshinra has joined #ocaml
KeyJoo has quit [Read error: Connection reset by peer]
<seliopou> unfrotunately c-cube's implemenation does not take advantage of intrinsics, nor has c stubs for fast blits
<seliopou> also the main advantage of bigstrings isn't necessarily size, but that the gc won't relocate your buffer
Anarchos has joined #ocaml
<seliopou> seems like something that the compiler has good support for, but nobody has actually packaged up to be easily usable
andreas_ has quit [Quit: Connection closed for inactivity]
<companion_cube> in the stdlib there's bigarray, which is the basis for bigstring
<companion_cube> but it's true that it's very… raw
jbrown has quit [Ping timeout: 265 seconds]
andreas_ has joined #ocaml
<seliopou> but that also doesn't use bigstring intrinsics
<flux> seliopou, ah, I didn't understand your use case, I just assumed buffers larger than 16 M :)
<flux> but of course bigarray-like thing is important
<seliopou> Bigarray.Array1.get will still call caml_ba_get_N (or whatever it's called) for example
<seliopou> as opposed to caml_ba_get_1
govg has quit [Ping timeout: 255 seconds]
sonologico has joined #ocaml
govg has joined #ocaml
govg has quit [Ping timeout: 248 seconds]
webshinra has quit [Remote host closed the connection]
Anarchos has quit [Read error: Connection reset by peer]
webshinra has joined #ocaml
kakadu_ has joined #ocaml
whoman has joined #ocaml
_andre has quit [Quit: leaving]
aciniglio has quit [Ping timeout: 268 seconds]
Anarchos has joined #ocaml
jbrown has joined #ocaml
mk9 has joined #ocaml
steve_gh has quit [Ping timeout: 260 seconds]
spew has joined #ocaml
pmetzger has joined #ocaml
k1000 has quit [Remote host closed the connection]
tautologico has quit [Quit: Connection closed for inactivity]
zmt01 has joined #ocaml
zmt00 has quit [Ping timeout: 248 seconds]
k1000 has joined #ocaml
tianon has quit [Quit: "I'm a very important man. I've got a tower!"]
tianon has joined #ocaml
tianon has quit [Client Quit]
tianon has joined #ocaml
tianon has quit [Client Quit]
tianon has joined #ocaml
tianon has quit [Client Quit]
tianon has joined #ocaml
tianon has quit [Client Quit]
Fistine is now known as LeCaRiBoU
pmetzger has quit []
Haudegen has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
tianon has quit [Client Quit]
tianon has joined #ocaml
tianon has joined #ocaml
rbocquet has quit [Quit: WeeChat 1.0.1]
noplamodo has quit [Remote host closed the connection]
jun has quit [Quit: WeeChat 1.6]
noplamodo has joined #ocaml
kerrhau has joined #ocaml
kerrhau has quit [Changing host]
kerrhau has joined #ocaml
jnavila has quit [Remote host closed the connection]
Haudegen has joined #ocaml
argent_smith has quit [Quit: Leaving.]
Jesin has joined #ocaml
jimmyrcom has quit [Ping timeout: 248 seconds]
rbocquet has joined #ocaml
jbrown has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
Anarchos has quit [Quit: Vision[0.10.2]: i've been blurred!]
ziyourenxiang has quit [Quit: Leaving]
mk9 has quit [Quit: mk9]
ygrek has joined #ocaml
an-tuan has joined #ocaml
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
Haudegen has quit [Remote host closed the connection]
<t4nk803> \QUIT
t4nk803 has quit []
kakadu_ has quit [Remote host closed the connection]
zolk3ri has quit [Quit: leaving]
navaja has joined #ocaml
sagax has quit [Quit: Konversation terminated!]
navaja has quit [Ping timeout: 260 seconds]