MercurialAlchemi has quit [Ping timeout: 268 seconds]
<Leonidas>
just looked at the release notes of jsoo 3.0. We are at OCaml 4.04.2, and jsoo is compatible with 4.06, whereas bucklescript is stuck on 4.02
FreeBirdLjj has quit [Remote host closed the connection]
<reynir>
Heh
<reynir>
I think that's because of jsoo's decision to compile OCaml bytecode into javascript instead of patching the compiler (which IIRC is what bucklescript is doing)
mfp__ has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
<Drup>
reynir: hongbo was warned that this was a big problem of his approach and the reason ocamljs was eventually abandoned *shrug*
MercurialAlchemi has joined #ocaml
<reynir>
Yes, I remember reading the issue on github :)
zpe_ has quit [Remote host closed the connection]
<Drup>
(and he added a lot more stuff than just a different backend)
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
AlexRussia has quit [Ping timeout: 258 seconds]
AlexRussia has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
argent_smith has quit [Quit: Leaving.]
Ulrich2017 has joined #ocaml
Ulrich2017 has quit [Client Quit]
toolslive has quit [Ping timeout: 255 seconds]
toolslive has joined #ocaml
silver has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
sh0t has joined #ocaml
toolslive has quit [Ping timeout: 240 seconds]
toolslive has joined #ocaml
spew has joined #ocaml
FreeBirdLjj has joined #ocaml
kakadu has quit [Remote host closed the connection]
Simn has quit [Read error: Connection reset by peer]
cranmax has quit [Quit: Connection closed for inactivity]
jlam_ has joined #ocaml
jlam__ has quit [Ping timeout: 260 seconds]
jlam__ has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
jlam_ has quit [Ping timeout: 246 seconds]
samrat_ has joined #ocaml
_whitelogger has joined #ocaml
ilovezfs_ has joined #ocaml
olibjerd has joined #ocaml
jbrown has joined #ocaml
spew has quit [Quit: foobar]
TheLemonMan has joined #ocaml
ryanartecona has joined #ocaml
jlam_ has joined #ocaml
dtornabene has joined #ocaml
jlam__ has quit [Ping timeout: 268 seconds]
olibjerd has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
andreas_ has joined #ocaml
jlam_ has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
samrat_ has quit [Ping timeout: 246 seconds]
argent_smith has joined #ocaml
<Leonidas>
yes, that's one of the reasons I am not as enthusiastic about bucklescript as e.g. the reason folks.
KV_ has joined #ocaml
<Leonidas>
i was told that there are plans to port it forward, but we'll see how this goes. historically such undertakings have been a pain and maybe ocaml 4.02.1 will live forever now
spew has joined #ocaml
cranmax has joined #ocaml
KV_ has quit [Quit: leaving]
spew has quit [Ping timeout: 240 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
jlam_ has quit [Ping timeout: 260 seconds]
jlam__ has joined #ocaml
<octachron>
Leonidas, I am wondering if bucklescript underlying OCaml version has ever been updated?
silver_ has joined #ocaml
slash^ has joined #ocaml
silver has quit [Ping timeout: 255 seconds]
<companion_cube>
I'm also worried about their fork of containers, it looks like it's going to bring a lot of maintainance headache to them
slash^ has quit [Read error: Connection reset by peer]
malina has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
cranmax2 has joined #ocaml
malina has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
ryanartecona has joined #ocaml
<Leonidas>
octachron: no, never. it was always based off 4.02
<Leonidas>
at least not since it was opensourced
clement_ has joined #ocaml
samrat_ has joined #ocaml
<clement_>
Hi all! The project I'm compiling has an src/ directory with A.ml, B.ml, and C.ml, and an src/32bit/ subdirectory that contains a 32-bit variant of A.ml. I'd like OCaml to pick A from src/32bit, and B and C from src/. Is there a way to do this with ocamlbuild? I tried `ocamlbuild -I src/32bit -I src/` and `ocamlbuild -I src/ -I src/32bit`, but both versions end up using A from src/, not src/32bit.
<octachron>
Leonidas, in other words, there is no upper bound yet on the estimation of how painful it is for bucklescript to be kept in sync with upstream OCaml
jlam_ has joined #ocaml
troydm has quit [Ping timeout: 240 seconds]
jlam__ has quit [Ping timeout: 255 seconds]
troydm has joined #ocaml
<octachron>
clement_, not easily. The easiest workaround may be to have a myocamlbuild or makefile rule to hide src/A.ml when building the 32 bit version
sh0t has quit [Ping timeout: 240 seconds]
<clement_>
octachron: I see, thanks :/ What do you mean by hide?
<clement_>
(Right now I have a Makefile rule that merges these two folders in a temporary one and passes that to ocamlbuild)
jlam__ has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
<octachron>
clement_, move it to a.not_ml before invoking for instance? But merging the two folders also sounds fine
<clement_>
Ok, understood. Thanks!
<octachron>
the problem is that ocamlbuild (and ocamldep) is more or less build around the hypothesis that there is an obvious bijection between compilation units and modules
<octachron>
and having two files that can provide the same module breaks this hypothesis
<companion_cube>
(this guy is a well known haskeller, btw)
argent_smith has quit [Quit: Leaving.]
cranmax2 has joined #ocaml
<Leonidas>
companion_cube: that sounds like a job for whitequark. and HK is basically london anyway
<companion_cube>
right
foocraft has joined #ocaml
ewanas has quit [Ping timeout: 260 seconds]
Guest1871 is now known as micro_
<yawnt>
what's WFH?
cranmax2 has quit [Ping timeout: 260 seconds]
<adrien>
working from home I guess
<adrien>
companion_cube: ah, fb
<yawnt>
ahh
<yawnt>
thanks
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
olibjerd has joined #ocaml
zpe has quit [Ping timeout: 255 seconds]
elfring has joined #ocaml
spew has joined #ocaml
<elfring>
I could compile an OCaml software module successfully. But I get the error message “No implementations provided for the following modules” when it is referenced by the corresponding link command. How can I avoid this?
ryanartecona has quit [Quit: ryanartecona]
copy_ has joined #ocaml
<octachron>
elfring, objects files must be provided in a order that is compatible with the underlying dependency graph
olibjerd has quit [Remote host closed the connection]
<elfring>
octachron: How does the mentioned “underlying dependency graph” fit to an other software build approach I published today?
zaquest has quit [Quit: Leaving]
zaquest has joined #ocaml
zaquest has quit [Ping timeout: 255 seconds]
<octachron>
elfring, I don't tend to think much about "build script adjustments" that breaks build process, nor I am an oracle able to somehow infer what is your "software build approach"
zaquest has joined #ocaml
samrat_ has quit [Ping timeout: 260 seconds]
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
<octachron>
elfring, you should really try to ask precise question that can be answered, rather than demand general politics statement for the course of mankind in the next century.
agravier_ has quit [Quit: agravier_]
<reynir>
Hah, I'm "New User of the Month" on discuss.ocaml.org
<reynir>
I think all this badge stuff is a bit silly :)
<elfring>
octachron: I noticed a moment ago that generated link commands where identical after I switched from my test branch to the official master branch of a special free software. Unfortunately, an implementation reference could not be resolved for the module “Pretty_print_ctl” in my test version. How do you find my published commit message?
zpe has joined #ocaml
Ulrich2017 has joined #ocaml
Ulrich2017 has quit [Client Quit]
<octachron>
elfring, I could make some sense of part of the commit message after looking at the code changes. You should strive to make the *reverse* true.
<octachron>
elfring, on your specific problem, you should ask yourself: Was the .cmo/.cmx file for Prettu_print_ctl build?
<octachron>
If yes, was it correctly passed to ocaml{c,opt} invocation?
<octachron>
If no, why was it not build? Which rule was missing?
Ulrich2017 has joined #ocaml
Ulrich2017 has quit [Client Quit]
<elfring>
octachron: I got the impression that the referenced modules were successfully built in both software development versions.
<elfring>
octachron: Which changes inside an OCaml software module can cause an implementation reference that can not be resolved by the linker when the passed parameters are the same for a master development version and my test variant?
<octachron>
elfring, first you should confirm your impressions. Were the referenced modules build? The answer should belongs to the set {Yes, No}.
olibjerd has quit [Quit: olibjerd]
jlam__ has quit [Ping timeout: 240 seconds]
<elfring>
octachron: Yes. - Otherwise: The questionable link operation should not have been started by the used software build system.
KV__ has joined #ocaml
<elfring>
octachron: Do you find a message like “File "_none_", line 1” from the tool “ocamlopt.opt” suspicious?
Ulrich2017 has joined #ocaml
Ulrich2017 has quit [Client Quit]
olibjerd has joined #ocaml
<KV__>
Hi, if I'm making a packed module called A with ocamlopt. I compile all modules with '-for-pack A' and when linkning they appear as A.Module1, A.Module2 etc... But is it possible to add other than modules to the root module? For example a type containing all common errors as A.error?
lizzin has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
lizzin is now known as Guest79903
dtornabene has quit [Read error: Connection reset by peer]
Ulrich2017 has joined #ocaml
dtornabene has joined #ocaml
Ulrich2017 has quit [Client Quit]
<octachron>
KV__, no pack can only pack modules afaik. Note that you can have a commeon or types submodule and that module aliases based workarounds do not have this limitation
<octachron>
elfring, "File …" is the begining of a compiler message, I cannot augur the rest of the message. If you are sure that the error happens at the linking phase, have you checked that the link command is the correct one?
tormen has left #ocaml [#ocaml]
<KV__>
octachron, ok thanks! Have to put them in submodule then, that's at least less tedious than doing the packing manually
jlam_ has joined #ocaml
<elfring>
octachron: A link operation was requested by the compiler tool “ocamlopt.opt” which succeeded with the unmodified official master development version.
<octachron>
elfring, no new information here. Your previous sentence can be resumed by: you have broke the build process.
<elfring>
octachron: I am surprised that a change had an unexpected side effect. But I have got the impression that it is not the link command (because it was not modified). I admit that I adjusted the build dependencies for the relevant software area “ctl” as can be seen from my commit.
FreeBird_ has quit [Remote host closed the connection]
jlam__ has joined #ocaml
FreeBirdLjj has joined #ocaml
<Leonidas>
reynir: congrats on your badge :D
slash^ has joined #ocaml
<reynir>
haha thanks!
jlam_ has quit [Ping timeout: 260 seconds]
sh0t has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
colluphid has joined #ocaml
<colluphid>
Hi im new to ocaml... how do i add a dependency in oasis ?
<colluphid>
... and is oasis my best choice of build system ?
soupault has joined #ocaml
<soupault>
hello everyone
<soupault>
is there any convenient module for command-line argument parsing? I'm looking for something with functionality similar to Python's `argpase`
dtornabene has quit [Read error: Connection reset by peer]
colluphid has quit [Ping timeout: 260 seconds]
<soupault>
hannes: thanks for the link. I've investigated the docs, and to me `Arg` seems to be clearer :)
<octachron>
soupault, cmdliner takes some time to grasp, but after a time of adaptation the API is quite nice; and the generated man pages are really nice
<soupault>
I think the overhead in terms of code is quite high. no doubts that the additional functionality is nice
<Leonidas>
I think the API is quite terse, though it does seem to go a bit overboard with custom operators
zpe has joined #ocaml
daniel_ has quit [Quit: Leaving]
olibjerd has quit [Quit: olibjerd]
frefity has quit [Quit: Ex-Chat]
spew has quit [Quit: foobar]
malc_ has joined #ocaml
kakadu has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 260 seconds]
zpe has quit [Ping timeout: 246 seconds]
jnavila has joined #ocaml
elfring has quit [Quit: Konversation terminated!]
malina has joined #ocaml
KV__ has quit [Quit: Lost terminal]
tane has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
<seliopou>
r-r-r-rgrinberg
<toolslive>
fun. opening lwt.mli in my emacs makes it hang on (searching definitions).
mengu has joined #ocaml
<companion_cube>
soupault: you can use arg, it works fine
<soupault>
companion_cube: already using :). thanks!
<companion_cube>
just take note that Arg.align is good :-)
jnavila has quit [Remote host closed the connection]
jlam_ has joined #ocaml
foocraft has quit [Quit: Leaving]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
clement_ has quit [Ping timeout: 240 seconds]
rdutra has joined #ocaml
jbrown has quit [Ping timeout: 268 seconds]
sh0t has quit [Ping timeout: 268 seconds]
zpe has quit [Ping timeout: 240 seconds]
barcabuona has quit [Ping timeout: 246 seconds]
jbrown has joined #ocaml
jao has joined #ocaml
barcabuona has joined #ocaml
tane has quit [Quit: Leaving]
soupault has quit [Remote host closed the connection]
handlex has joined #ocaml
malc_ has quit [Remote host closed the connection]
zpe has joined #ocaml
clement_ has joined #ocaml
agravier has joined #ocaml
handlex has quit [Quit: handlex]
agravier has quit [Quit: agravier]
agravier has joined #ocaml
agravier has quit [Client Quit]
agravier has joined #ocaml
agravier has quit [Client Quit]
barcabuona has quit [Ping timeout: 240 seconds]
kakadu_ has quit [Remote host closed the connection]
barcabuona has joined #ocaml
sh0t has joined #ocaml
zpe has quit [Ping timeout: 268 seconds]
colluphid has joined #ocaml
<colluphid>
what build tool should i use for ocaml?
<colluphid>
it seems like there are a few options, make, oasis, ocamlbuild
sh0t has quit [Ping timeout: 246 seconds]
jlam_ has quit [Ping timeout: 268 seconds]
malina has quit [Ping timeout: 240 seconds]
<_y>
make is approximately doable (i do) but painful
<_y>
i strongly recommand, over make, any of the others you mention, as they are dedicated to ocaml specifically
<_y>
there i can’t be trusted, but: (0) if i understood correctly the new jbuilder is to be preferred over ocamlbuild (2) oasis is a higher‐level tool, which backends to ocamlbuild