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.
<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>
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