ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
<mcc> oh!
<mcc> i need a myocamlbuild.ml?
<Drup> I'm afraid you do.
<mcc> ok
<mcc> it seems odd that it is so easy to do this with ocamlopt ("-pp") but more steps with ocamlbuild.
<mcc> if i am not using oasis, will that be a problem?
<Drup> no
<Drup> no problem, there is just a note for oasis users, that's all
<Drup> about the -pp argument
<Drup> well, the plugin is doing a bit more work than adding -pp everywhere.
<mcc> ...oh, no
<mcc> "root of your project"
<mcc> what is it going to think the root is
<Drup> ahah.
<mcc> is the root cwd
<Drup> the root is the place where you launch ocamlbuild.
<mcc> ok so
<mcc> the requested text is now in a file named myocamlbuild.ml
<mcc> along with let () = print_endline "TEST"
<Drup> mcc, reading exercise: "The plugin will apply cppo on all files ending in .cppo.ml in order to produce.ml files." ;)
<Drup> It's not even late for you !
<mcc> ugh, i am sorry, i have a gnat attention span today :(
javamonn has joined #ocaml
c355E3B has quit [Quit: Leaving]
<mcc> nevertheless, none of this is making a difference: https://gist.github.com/mcclure/a05389fe8f221e957246
<Drup> hum, that's weird.
avsm has joined #ocaml
dubosec has joined #ocaml
<Drup> show the myocamlbuild please
swgillespie has joined #ocaml
<Drup> (you did a little distclean in the middle ?)
nojb has quit [Quit: nojb]
<mcc> oh, maybe i did not
<mcc> what do you mean by distclean, i did an ocamlbuild -clean
<Drup> and the compiled myocamlbuild
<mcc> where do i find "compiled" myocamlbuild
<mcc> in _build?
<mcc> there is a myocamlbuild binary
<Drup> just rm -rf _build and restart
<mcc> ok
<Drup> there is something fishy.
<mcc> same error
<Drup> mcc: can you post the build log with -classic-display passed to ocamlbuild
<mcc> yes
mengu has joined #ocaml
<mcc> maybe i have made another spacy mistake, i don't know :(
<Drup> in what you just posted, main.ml is still there.
<Drup> in the one before too
<Drup> mv main.ml main.cppo.ml
<mcc> what
<mcc> bah, i was certain i removed it :(
avsm has quit [Quit: Leaving.]
<mcc> okay, it is working now, tahnk you so much
<mcc> and maybe i will take a nap or something.
<Drup> also
<Drup> remove ocamlbuild and cppo_ocamlbuild from you tags
<Drup> it's not useful
araujo has quit [Quit: Leaving]
<Drup> you should not link with them
mengu has quit [Ping timeout: 252 seconds]
<mcc> ok
<Drup> (really, ocamlbuild is messy enough at compile time, let's not have it at runtime :D)
<mcc> mmm , wait , now it is not working again...
<mcc> i am not sure exactly what i saw that made me think it was working
<Drup> you moved the file and removed _build and rebuild ?
<mcc> it seems odd that so many of these failures with ocamlbuild are silent.
<Drup> ahah
<Drup> oh Wait, I think I got it
<Drup> try #error "test"
<mcc> ah!
<mcc> so that time it compiled.
<mcc> problem:
<mcc> it should not have compiled?
<mcc> oh, no no
<mcc> sorry
<mcc> i was not compiling what i thought i was compiling
<mcc> #error "test" works but #error test does not
<mcc> very interesting! * _ *
<Drup> reporting bug.
<mcc> ok thanks much for the help
larhat has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
<mcc> thx
hilquias has joined #ocaml
curiosity has quit [Remote host closed the connection]
ontologiae has joined #ocaml
dubosec has quit [Quit: Leaving]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
shinnya has joined #ocaml
ontologiae has quit [Ping timeout: 245 seconds]
<rgrinberg> companion_cube: ping :)
<Drup> at this hour ? ;)
<rgrinberg> Drup: true, you're gonna have to substitute for simon
<rgrinberg> see if you can spot another bug :) https://github.com/ocaml/ocaml-re/pull/56
<Drup> I don't know re's internals
<Drup> (stop asking me questions about libraries I don't know ! :D)
<rgrinberg> Drup: i know ocsigen as much as you know re :P
<Drup> yes and no
<rgrinberg> besides you don't need to know the internals, the snippet of code is self contained you have a match that's 0 length how do you advance your position and how do you mutate the replacement buffer?
<dmbaturin> Is there a complete list of ocaml type rules somewhere?
<Drup> dmbaturin: outch.
<Drup> hum, no, there is not
<Drup> and frankly, I'm not sure that's a reasonable query
<rgrinberg> ah yes, OCaml is one of those languages without a "standard"
<Drup> ocaml's type system is just too big and too complicated at this point for a complete formalization.
<Drup> (some little bits have been formalized independently in various papers, but not the whole and certainly not the implementation)
<dmbaturin> Did anyone formalize polymorphic variants?
ygrek has joined #ocaml
<dmbaturin> I don't really need it for anything, just curious.
netrobyatmobile has quit [Quit: Connection closed for inactivity]
<Drup> in general for "Is there a formalization of X" with X ∈ OCaml type system, the answer is here: http://www.math.nagoya-u.ac.jp/~garrigue/papers/index.html
<dmbaturin> Drup: Thanks!
<Drup> the notable exception is object, which is here http://www.pps.univ-paris-diderot.fr/~vouillon/publi/popl97.ps.gz
<Drup> objects*
<Drup> not sure if that's really uptodate though
<Drup> rgrinberg: a lot of languages don't have a standard ;)
<dmbaturin> * Few languages have a standard.
<rgrinberg> Drup: mostly shitty scripting languages
<rgrinberg> but it doesn't matter :P
<Drup> and those who do are often littered by vendor extensions
<rgrinberg> Drup: does caml light have a standard?
<rgrinberg> if so then we can say ocaml is a shitty vendor extension
<rgrinberg> well, s/shitty//g
<Drup> well, you could argue it's a vendor extension of ML anyway :D
<dmbaturin> I think to qualify as a vendor extension it should not modify the core language.
<dmbaturin> Otherwise it qualifies as embrace, extend, and extinguish. ;)
<Drup> (note that the whole "vendor extension" points works with C, C++, Java, javascript, python, ...)
<rgrinberg> as long as it doesn't prevent alternative implementations then it's fine
<Drup> well, technically, ocaml-java is an alternative OCaml compiler.
darkf has joined #ocaml
<Drup> I can't find any paper describing caml light, which is weird
avsm has joined #ocaml
idegen has quit [Quit: Leaving.]
javamonn has quit [Remote host closed the connection]
BitPuffin has quit [Ping timeout: 250 seconds]
javamonn has joined #ocaml
psy_ has joined #ocaml
shinnya has quit [Ping timeout: 245 seconds]
kushal has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
mrm has quit [Ping timeout: 240 seconds]
dubosec has joined #ocaml
dubosec has quit [Client Quit]
kushal has quit [Ping timeout: 250 seconds]
javamonn has quit [Remote host closed the connection]
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
dubosec has joined #ocaml
dubosec has quit [Quit: Leaving]
larhat has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
nullcat has joined #ocaml
myyst has joined #ocaml
myst has quit [Ping timeout: 256 seconds]
struktured has joined #ocaml
ggole has joined #ocaml
s1n4 has joined #ocaml
swgillespie has joined #ocaml
msch_ has joined #ocaml
mariusae_ has joined #ocaml
lopex_ has joined #ocaml
Sorella_ has joined #ocaml
lambdahands_ has joined #ocaml
struk|desk has joined #ocaml
jeroud_ has joined #ocaml
sgnb` has joined #ocaml
frankjea1er has joined #ocaml
strmpnk_ has joined #ocaml
destrius_ has joined #ocaml
c74d3 has joined #ocaml
Averell- has joined #ocaml
lupine_85 has joined #ocaml
myyst has quit [*.net *.split]
Sorella has quit [*.net *.split]
sgnb has quit [*.net *.split]
c74d has quit [*.net *.split]
destrius has quit [*.net *.split]
lopex has quit [*.net *.split]
struk|desk2 has quit [*.net *.split]
rbocquet has quit [*.net *.split]
averell has quit [*.net *.split]
fold has quit [*.net *.split]
frankjeager has quit [*.net *.split]
lambdahands has quit [*.net *.split]
msch has quit [*.net *.split]
jeroud has quit [*.net *.split]
mariusae has quit [*.net *.split]
lupine has quit [*.net *.split]
strmpnk has quit [*.net *.split]
zapu has quit [*.net *.split]
lupine_85 is now known as lupine
lopex_ is now known as lopex
mariusae_ is now known as mariusae
jeroud_ is now known as jeroud
myyst has joined #ocaml
Sorella_ is now known as Sorella
msch_ is now known as msch
MercurialAlchemi has joined #ocaml
lambdahands_ is now known as lambdahands
s1n4 has quit [Remote host closed the connection]
zapu has joined #ocaml
rbocquet has joined #ocaml
fold has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
wwilly has joined #ocaml
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
badon has joined #ocaml
Averell- is now known as averell
averell has quit [Changing host]
averell has joined #ocaml
psy_ has quit [Read error: No route to host]
badon has quit [Ping timeout: 255 seconds]
Gama11 has joined #ocaml
A1977494 has joined #ocaml
shinnya has joined #ocaml
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 246 seconds]
olibjerd has joined #ocaml
A19774941 has quit [Ping timeout: 252 seconds]
A1977494 has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
mcc has quit [Quit: This computer has gone to sleep]
rgrinberg has quit [Ping timeout: 240 seconds]
srcerer has quit [Ping timeout: 250 seconds]
srcerer has joined #ocaml
Simn has joined #ocaml
riffm has joined #ocaml
riffm has quit [Client Quit]
freling has joined #ocaml
kakadu has joined #ocaml
slash^ has joined #ocaml
A1977494 has left #ocaml [#ocaml]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nojb has joined #ocaml
hilquias has quit [Remote host closed the connection]
jonludlam has joined #ocaml
<kakadu> fellas, How to dump latest average results to file in core_bench?
<kakadu> Or is it sane to want this?
avsm has quit [Quit: Leaving.]
matason has quit [Quit: Leaving...]
rgrinberg has joined #ocaml
TheLemonMan has joined #ocaml
rgrinberg has quit [Ping timeout: 276 seconds]
axiles has joined #ocaml
psy_ has joined #ocaml
avsm has joined #ocaml
milosn has quit [Ping timeout: 245 seconds]
dav has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm has quit [Client Quit]
yetone has joined #ocaml
dav has quit [Remote host closed the connection]
dav has joined #ocaml
govg has quit [Quit: leaving]
tane has joined #ocaml
thomasga has joined #ocaml
freling has quit [Quit: Leaving.]
freling has joined #ocaml
mengu has joined #ocaml
mengu has quit [Read error: Connection reset by peer]
mengu has joined #ocaml
nojb has quit [Quit: nojb]
ammbot has joined #ocaml
rgrinberg has joined #ocaml
lordkryss has joined #ocaml
milosn has joined #ocaml
mengu has quit [Remote host closed the connection]
testcocoon has quit [Quit: Coyote finally caught me]
rgrinberg has quit [Ping timeout: 256 seconds]
nojb has joined #ocaml
nojb has quit [Client Quit]
Haudegen has quit [Ping timeout: 256 seconds]
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
AlexRussia has joined #ocaml
contempt has quit [Ping timeout: 265 seconds]
testcocoon has joined #ocaml
ammbot has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
freling has quit [Quit: Leaving.]
wwilly has left #ocaml ["Leaving"]
contempt has joined #ocaml
myyst is now known as myst
BitPuffin has joined #ocaml
mengu__ has joined #ocaml
psy_ has quit [Ping timeout: 248 seconds]
psy_ has joined #ocaml
Hannibal_Smith has joined #ocaml
milosn has quit [Ping timeout: 272 seconds]
yetone has quit [Max SendQ exceeded]
ygrek has joined #ocaml
psy_ has quit [Ping timeout: 250 seconds]
psy_ has joined #ocaml
milosn has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
dav has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
dav has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
rgrinberg has quit [Ping timeout: 256 seconds]
milosn has joined #ocaml
mengu__ has quit [Read error: No route to host]
mengu__ has joined #ocaml
Nijikokun has quit [Ping timeout: 245 seconds]
Simn has quit [Quit: Leaving]
thomasga has quit [Quit: Leaving.]
Hannibal_Smith has quit [Quit: Leaving]
ygrek has quit [Ping timeout: 250 seconds]
ammbot has joined #ocaml
milosn has quit [Ping timeout: 245 seconds]
Muzer has quit [Excess Flood]
Muzer has joined #ocaml
milosn has joined #ocaml
javamonn has joined #ocaml
milosn has quit [Remote host closed the connection]
milosn has joined #ocaml
Muzer has quit [Excess Flood]
thomasga has joined #ocaml
thomasga has quit [Quit: Leaving.]
Muzer has joined #ocaml
sdothum has joined #ocaml
rgrinberg has joined #ocaml
javamonn has quit [Remote host closed the connection]
freling has joined #ocaml
rgrinberg has quit [Ping timeout: 276 seconds]
javamonn has joined #ocaml
seangrove has joined #ocaml
javamonn has quit [Remote host closed the connection]
javamonn has joined #ocaml
Muzer has quit [Excess Flood]
javamonn has quit [Remote host closed the connection]
Muzer has joined #ocaml
milosn has quit [Ping timeout: 248 seconds]
idegen has joined #ocaml
avsm has joined #ocaml
freling has quit [Quit: Leaving.]
avsm has quit [Quit: Leaving.]
c355E3B has joined #ocaml
Muzer has quit [Excess Flood]
Algebr has joined #ocaml
Muzer has joined #ocaml
s1n4 has joined #ocaml
avsm has joined #ocaml
avsm has quit [Client Quit]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
Muzer has quit [Excess Flood]
darkf has quit [Quit: Leaving]
psy_ has quit [Ping timeout: 245 seconds]
nojb has joined #ocaml
rand000 has joined #ocaml
Muzer has joined #ocaml
nojb has quit [Client Quit]
Muzer has quit [Excess Flood]
monod has joined #ocaml
Muzer has joined #ocaml
nojb has joined #ocaml
codeitagile has joined #ocaml
yetone has joined #ocaml
ammbot has quit [Ping timeout: 276 seconds]
cmtptr has quit [Quit: Reconnecting]
cmtptr has joined #ocaml
larhat has joined #ocaml
nojb has quit [Quit: nojb]
avsm has joined #ocaml
mbac has joined #ocaml
nojb has joined #ocaml
Berra has joined #ocaml
pyon has quit [Quit: My morality has evaporated under the harsh UV light.]
<Berra> Where can I find information to educate me about when OCaml can be considered over languages like Python?
<Berra> Wonderful, thanks nojb
SHODAN has quit [Remote host closed the connection]
mengu__ has quit [Remote host closed the connection]
SHODAN has joined #ocaml
mengu has joined #ocaml
milosn has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
Hannibal_Smith has joined #ocaml
<Berra> Great read
avsm has quit [Quit: Leaving.]
<Hannibal_Smith> Just a curiosity, is there a list of all CS books that uses OCaml as programming language for the examples?
pyon has joined #ocaml
freling has joined #ocaml
olibjerd has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
LnL has quit [Quit: ZNC - http://znc.in]
LnL has joined #ocaml
<Drup> Hannibal_Smith: that would be a long list.
mv has joined #ocaml
<Hannibal_Smith> Drup, for now I found myself only Types and programming language and the one that I linked before
<Hannibal_Smith> I was curious because are both good books
<Hannibal_Smith> So I questioned myself if I can found some other interesting perls searching for simply CS books that uses OCaml :-P
<Hannibal_Smith> Ahahaha *pearls
<Drup> the TAPL is rather well known :p
s1n4 has quit [Quit: leaving]
curiosity has joined #ocaml
<curiosity> is there some consent which build tool not to use?
matason has joined #ocaml
shinnya has quit [Ping timeout: 252 seconds]
<Drup> on which topic ? :D
<curiosity> Drup: i thought i ve read here that some users are quite unhappy with some of the existing build tools? was curious, which are recommended here. Jenga, OCamlmakefile and so on?
<Drup> ah, build tools.
<Drup> there is no consent on which tool to use
<Drup> there is consent that none of them are satisfactory.
<curiosity> thats why i didnt ask, which build tools is the best :)
<Drup> jenga is not to be used unless you have an enormous code base
<Drup> for small/medium size, it's not the right tool
<curiosity> whats the reason behind that? Is the description too complex for small projects?
<Drup> yes, and it uses core
<curiosity> so whats been used in the commercial environment? oasis or plain makefiles?
<adrien> well, JST has built Jenga
<adrien> but it's for large projects
<rgrinberg> curiosity: use obuild :P
<Drup> curiosity: pretty sure each uses a different build system
<Drup> rgrinberg: which one, there are two :D
<rgrinberg> it's the simplest thing that's fast and works 90% of the time
<Drup> oh, that's not the one I knew
<Drup> yay, yet another one.
<curiosity> whats the difference to let say oasis?
<rgrinberg> curiosity: oasis is crazy slow and pollutes your working dir with auto generated crap
<Drup> does it's still rely on ocamlbuild ? It doesn't seem so
<rgrinberg> Drup: obuild? it never relied on ocamlbuild
<curiosity> rgrinberg: i ll give it a try
<Drup> "still" compared to oasis
<nojb> I use plain ocamlbuild - the only downside is that lack of documentation
<Drup> rgrinberg: because it's exactly the same design space
<rgrinberg> nojb: and you have to write meta files :(
strmpnk_ is now known as strmpnk
<Drup> oasis is just much much older and with a ton of crap still attached because of that
<nojb> rgrinberg: indeed
<Drup> nojb: and segregating internal/external modules is annoying. Same for defining multiple separated libraries
<curiosity> rgrinberg: do you have a project on your github page using obuild?
<Drup> rgrinberg: is the parsing and error reporting as terrible and badly defined as oasis ?
c355E3B has quit [Quit: Leaving]
<curiosity> thanks
<rgrinberg> parsing/error reporting of the .obuild file?
<Drup> yes
<rgrinberg> it's pretty bad but much more hackable
<Drup> in oasis, it's ridiculously bad
<rgrinberg> the whole thing is very minimalstic
<rgrinberg> i tried reading through oasis once
<rgrinberg> told myself, never again
monod has quit [Ping timeout: 244 seconds]
<Drup> yeah ...
<nojb> oasis seems like someting stuck in a previous era - I don't think it even knows about -use-ocamlfind flag in ocamlbuild ...
<rgrinberg> nojb: yes i don't think it's seriously maintained anymore
olibjerd has joined #ocaml
<Drup> no it doesn't, and no it's not maintaned
<adrien> nojb: you just pointed out why the "stuck in a previous era"
<adrien> oasis was born too early
<rgrinberg> adrien: it was born to an alcoholic mother :(
<adrien> it was born at the beginning of a transition
<adrien> but I'm not sure it wasn't one of the cause of that transition
<adrien> rgrinberg: it was meant in a really different context
<rgrinberg> Drup: if only obuild did
<rgrinberg> adrien: i know, bad joke :D
<adrien> I don't know if you've lived with the ocaml build ecosystem from around 7 years ago
<nojb> but are there any really good build system in *any* language ?
<adrien> :)
<rgrinberg> Drup: if obuild didn't mandate dependency fascism it would be ideal
<Drup> ?
<rgrinberg> the original author wrote it pre-opam so he disallowd all external dependencies
<rgrinberg> so the command line interface is Arg based :(
freling has quit [Quit: Leaving.]
<Drup> ah, yes, ccubism.
<Drup> :D
<adrien> well
<Drup> (that's unfair, I know x)
<adrien> make opam work on windows
<adrien> with a decent performance
<adrien> (I'm laughing a lot on that last point)
<rgrinberg> Drup: ccubism?
<Drup> companion_cubism.
<rgrinberg> yes but how does it relate
<Drup> he can occasionally be very dependency-adverse.
<rgrinberg> ah, i did not notice that myself
<Drup> averse*
<bernardofpc> well, sometimes that's good, as in not replicating the dep madness of heskell-land
<Drup> they have an additional problem in haskell-land due to typeclasses
<rgrinberg> bernardofpc: it's unlikely we'll ever have those problems b/c we don't have something as bad as hackage
<Drup> it makes modularity very hard
<Leonidas> cabal install cabal-install
<Drup> (and hackage)
<Leonidas> fails
nojb has quit [Quit: nojb]
cesar_ has joined #ocaml
cesar_ is now known as Guest65070
Jefffrey has joined #ocaml
<Jefffrey> Morning
A1977494 has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
swgillespie has joined #ocaml
<yminsky> For those of you discussing build systems: I don't think it's right to say that Jenga is only good for large projects.
<yminsky> I think Jenga scales reasonably well for large projects, but there's no fundamental reason it shouldn't work for small ones as well.
<yminsky> The real problem with Jenga is that it's just not ready for use outside of Jane Street.
<yminsky> For that, we need a good story for modular distribution of build rules, and we're not quite there yet.
<Drup> yminsky: the constraint for building core before building your project is rather important, for small projects.
<Drup> of*
<yminsky> I disagree. You need a good bootstrap story, but one could be found.
<yminsky> For example, one could perhaps distribute a byte-code only Jenga.
<adrien> yminsky: I meant that the work involved in using jenga is currently not really worth it for smaller projects
<yminsky> adrien: I think the work involved isn't worth it for large or small projects!
<adrien> that's how I understood it at least but that would be solved by modular rules
<adrien> (being available)
<yminsky> The build rules we've written are a big part of the puzzle, and those aren't fully shareable yet.
<Drup> yminsky: I have various bad memories about distributing byte code for a certain build system.
<yminsky> drup: sorry, not getting it. Which one?
<Drup> but maybe you can do better :p
<Drup> ocp-build.
<yminsky> Ah, sure.
<adrien> please, no bytecode blobs ='(
<yminsky> The other bootstrapping story is that Jenga can emit makefiles that don't do dynamic dependency discovery, but can execute the build in its current form.
<yminsky> That allows packages to be built without having Jenga installed.
<adrien> that's how people build most of the time
<Drup> ah, that's nice.
<adrien> so that sounds perfectly fine
jonludlam has quit [Ping timeout: 272 seconds]
<yminsky> So, you'd need to build Jenga to actually develop, but your packages wouldn't inherit a build-time dependency.
<yminsky> Yeah, that's my favorite solution.
<Drup> If you generate makefiles in the end, I'm not sure you really need jenga's complexity, though, but I don't know it all that well.
<yminsky> drup: I think it is. Think of the makefiles as just a convenient way of computing the trace of the build. Computing dependencies is still quite important, and Jenga is a natural vehicle for doing so.
<Jefffrey> So I'm having a weird error. And the first few results on google regarding this error are the ocaml implementation on github.
<yminsky> With something like Jenga, you get to write those rules in a real language, and not in make.
<Drup> yminsky: It's a big vehicule.
<Jefffrey> I have a class, and I'm trying to inherit from two other classes.
<Drup> Jefffrey: show the code :3
<yminsky> drup: well, you can always use ninja or somesuch if you don't want this kind of support.
<adrien> izegrjkzerkjzegrzekrezklze
<adrien> sorry
<Drup> :D
<adrien> I always get a nervous reaction when someone mentions google crap^Wtools
<adrien> it it possible to have tools from one of the richest company on earth that handle cross-compilation?
<Jefffrey> Drup: Nevermind. Solved by explaining the problem. As always. :P
<adrien> ninja isn't really the one to blame here but gyp is and both are very close
<adrien> and they're throwing gyp away, they're making a new tool
<adrien> also, it seems packagers hate it
<adrien> actually, packagers hate anything from google
<yminsky> Anyway, I think Jenga isn't ready for people to try seriously yet outside of JS. We can talk about it more productively when it's closer to being usable, I think.
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Algebr has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 244 seconds]
Guest65070 has quit [Remote host closed the connection]
mort___ has joined #ocaml
rwmjones has quit [Read error: Connection reset by peer]
rwmjones has joined #ocaml
Hannibal_Smith has joined #ocaml
codeitagile has quit [Remote host closed the connection]
Jefffrey has quit [Quit: Leaving...]
monod has joined #ocaml
freling has joined #ocaml
struktured has quit [Ping timeout: 245 seconds]
mv has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
<curiosity> rgrinberg: how can i pack multiple modules in different subfolders into one library using obuild? is there some example like this?
<rgrinberg> curiosity: not sure that you can, i don't even know how to do that in oasis either
<rgrinberg> in general, the pattern is a directory can contain 1 or more libs
<Drup> that's rather easy in oasis, just indicate the paths ...
<Drup> Modules: foo/Bar bla/Thingy
<rgrinberg> try doing that in obuild as well
<rgrinberg> no idea if it will work as I've never tried it
mort___ has quit [Quit: Leaving.]
<curiosity> foo/Bar does not work
<curiosity> so how do i tell obuild to look into subfolders as well?
<rgrinberg> add them as libraries
<curiosity> src-dir: /lib, /lib/subfolder
<curiosity> like that
<curiosity> ?
<rgrinberg> curiosity: is your code somewhere where I can see it?
<curiosity> rgrinberg: no, i am just playing with a minimal example
<rgrinberg> ok here's a more complex example
struktured has joined #ocaml
ygrek has joined #ocaml
<curiosity> thanks, i am looking at the autopack2 example and here is only one src-dir. So obuild looks in every subfolder to find module B?
<rgrinberg> curiosity: module B is a packed module created automatically from directory b
<companion_cube> rgrinberg: pong
<rgrinberg> companion_cube: i'm trying to fix a bug in your replace code, could you review :)
<companion_cube> hmm, I saw the mail, give me 5 minutes
<companion_cube> o/ btw
mengu has quit [Remote host closed the connection]
<rgrinberg> curiosity: e.g. if $ ls b gives you foo.ml and bar.ml obuild will create module B with B.Bar and B.Foo
mengu has joined #ocaml
<Drup> success !
* Drup managed to query the new optimizing z3 solver in caml
mengu has quit [Ping timeout: 265 seconds]
mengu has joined #ocaml
<companion_cube> rgrinberg: ok, indeed, bad bug
<companion_cube> the fix seems correct
<rgrinberg> companion_cube: what do you mean document in the mli? I don't think anyone expects any other behavior
<companion_cube> hmm, sure
<companion_cube> one could expect it to loop?
<companion_cube> :D
<rgrinberg> although i wouldn't mind improving the doc a little i kind of have a hard time describing the correct behavior
<companion_cube> you can't really "replace" the ^ position
<companion_cube> yeah, right.
<companion_cube> don't bother then
<rgrinberg> although the incorrect behavior is easy to describe (non char matches will consume the next char with replacement)
<rgrinberg> companion_cube: we should add some quickcheck tests to ocaml-re :P
<companion_cube> random instances of regex? sounds tricky :p
<companion_cube> what about "each position in the string is considered at most one, even if match has size 0" ?
<rgrinberg> Drup: does the statement above give you any insight?
<rgrinberg> I'm a little suspicious of it because i know the context :/
<Drup> err, what is it talking about ?
<rgrinberg> it would be added to the ocamldoc of replace_string
<rgrinberg> actually replace/replace_string
<companion_cube> the important part is the bugfix (thanks rgrinberg for it)
<rgrinberg> companion_cube: I almost let the bounds check slip but then i wrote the other test
<rgrinberg> :P
ygrek has quit [Ping timeout: 240 seconds]
<Drup> the phrasing is ok, I guess
<companion_cube> yes, end-of-string is always tricky
<companion_cube> I wonder whether Re is actually the perfect match for tools like why3
<rgrinberg> there's a more inefficient but obviously correct way of defining replace
<rgrinberg> replace x by = join by . split x
<companion_cube> the abstract behavior should be that, problably, yes
<rgrinberg> specifying this invariant in our doc would actually cover this special case
<rgrinberg> although i'm not sure if we maintain it...
<rgrinberg> excercise for the reader as they say
<companion_cube> well it sounds reasonable
<companion_cube> the kind of API gasche would appreciate
mort___ has joined #ocaml
ptrz has joined #ocaml
<ptrz> There's never been a MIPS64 OCaml port, right?
<ptrz> Someone asked a question that made me second-guess myself, but I haven't been able to find any evidence or discussion of one
freling has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 276 seconds]
Hannibal_Smith has quit [Remote host closed the connection]
swgillespie has joined #ocaml
<adrien> woooo, Kaï a filé le bébé à quelqu'un d'autre \o/
<adrien> erf
<adrien> EFOCUS
psy_ has joined #ocaml
swgillespie has quit [Client Quit]
cesar_ has joined #ocaml
cesar_ is now known as Guest75830
<curiosity> rgrinberg: after some playing around i think i figured it out, thanks for the recommendation
Guest75830 has quit [Ping timeout: 245 seconds]
mengu has quit [Read error: Connection reset by peer]
mengu has joined #ocaml
Haudegen has joined #ocaml
ggole has quit [Ping timeout: 272 seconds]
struktured has quit [Ping timeout: 264 seconds]
struktured has joined #ocaml
matason has quit [Quit: Leaving...]
slash^ has quit [Read error: Connection reset by peer]
matason has joined #ocaml
SHODAN has quit [Ping timeout: 245 seconds]
A1977494 has left #ocaml [#ocaml]
ontologiae has joined #ocaml
A19774941 has joined #ocaml
A19774941 has left #ocaml [#ocaml]
<struktured> is a sequence of else ifs on character equality faster or the same as the matching syntax?
<Drup> you mean, with guards ?
<Drup> match will be faster
<struktured> thats what I thought, just like switch would usually be faster in c/c++/java etc.
<Drup> the compiler optimize that into a dichotomy search over char codes
<struktured> for chars specifically, or other datatypes as well?
<Drup> for sum types, it creates an optimal decision tree
<Drup> (there are several papers about that)
<Drup> for ints (and floats ?) it's a regular search (using bounds and masks stuff)
<Drup> char = ints
<struktured> very cool. the space of sum types is [polymorphic] variants and the open sum type like exception?
<Drup> for string ... it's mostly magical. It matches the individual words as ints and do the search tree with that.
nojb has joined #ocaml
<Drup> yes
<Drup> well, poly variants and sum types are a bit slower, but mostly, yes
<struktured> I feel like you defined most ocaml data types at this point then. what's missing?
<Drup> arrays
<struktured> ah
<Drup> and all C things :p
<Drup> and records
<Drup> well records and array are pretty much the same, here
<struktured> so what if you match on variants of different records? I imagine multiple entries of the variant tag (but w/different record values) wouldn't be optimized.
<Drup> actually, no, records are irrelevant, the match can't fail
<struktured> what do you mean by that?
<Drup> struktured: like "function { foo = Foo x } -> .. | { foo = Bar y } -> ...
<Drup> ?
<struktured> "records are irrelevant"
<Drup> well, you can always express a pattern match as a field access
<Drup> "let { .. } = e" canno't fail.
<struktured> so how is that one optimized if foo=George as well? it would be indexed intelligently as you mentioned before?
<Drup> yes
<struktured> cool
<struktured> ok I guess I will add a comment to the commit about this
<struktured> thanks for your insigits
<struktured> *insights
<Drup> for everything pattern matching related in OCaml, grep http://pauillac.inria.fr/~maranget/pub.html
<Drup> http://moscova.inria.fr/~maranget/papers/ml05e-maranget.pdf in particular, iirc (with glorious drawing of decision trees)
<struktured> thanks, and yes those are some fancy graphical renderings!
A1977494 has joined #ocaml
<Drup> Luc maranget is "Mr pattern match" for the ocaml compiler, he has rights of life and death over any courageous contributor brave enough to enter this territory of the compiler. :D
<rgrinberg> curiosity: NP ask on the bug tracker if you have more questions
Gama11 has quit [Remote host closed the connection]
tane has quit [Quit: Verlassend]
A1977494 has left #ocaml [#ocaml]
hilquias has joined #ocaml
6A4AB5H65 has joined #ocaml
freling has joined #ocaml
troydm has quit [Quit: What is hope? That all of your wishes and all of your dreams come true? (C) Rau Le Creuset]
axiles has quit [Remote host closed the connection]
cesar_ has joined #ocaml
cesar_ is now known as Guest35495
jonludlam has joined #ocaml
Guest35495 has quit [Ping timeout: 255 seconds]
govg has joined #ocaml
swgillespie has joined #ocaml
Anarchos has joined #ocaml
seangrove has quit [Ping timeout: 250 seconds]
troydm has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
<curiosity> rgrinberg: i am using core, but get this error, when i try to link my executable
<curiosity> Error: No implementations provided for the following modules:
<curiosity> Thread referenced from
<curiosity> also mutex, condition and event
<nojb> have to add -thread to the compiler flags
freling has quit [Quit: Leaving.]
<curiosity> and where should i set that inside the .obuild file?
<nojb> you should add Thread to the list of deps I think
<nojb> and Mutex, Condition and Event while you are at it
nojb has quit [Quit: nojb]
<curiosity> its referenced from core, shouldnt it be enough to link with core? ocamlfind list does not show mutex for example
<rgrinberg> Yeah I don't think you're supposed to add threads
<rgrinberg> but even if you do, i don't think it will help
<rgrinberg> I've run into this bug today with core_bench
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
<curiosity> how fast are these issues normally resolved with obuild?
psy_ has quit [Ping timeout: 250 seconds]
mort___ has quit [Quit: Leaving.]
nojb has joined #ocaml
<Drup> I don't think you should add the module to the list of deps, just the argument -thread
<Drup> struktured: which array are you talking about in this commit ? I don't see any actual use
matason has quit [Quit: Leaving...]
Anarchos has quit [Ping timeout: 264 seconds]
nojb has quit [Quit: nojb]
monod has quit [Quit: Sto andando via]
mengu has quit [Remote host closed the connection]
kakadu has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
Anarchos has joined #ocaml
ptrz has quit [Quit: WeeChat 1.1]
Nijikokun has joined #ocaml
cmtptr has quit [Quit: reboot!]
cmtptr has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
sdothum has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mengu has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
olibjerd has quit [Ping timeout: 245 seconds]
sdothum has quit [Client Quit]
sdothum has joined #ocaml
Berra has quit [Quit: Leaving.]
cesar_ has joined #ocaml
cesar_ is now known as Guest63292
mengu has quit [Ping timeout: 245 seconds]
Guest63292 has quit [Ping timeout: 245 seconds]
seangrove has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
6A4AB5H65 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
avsm has joined #ocaml
WraithM has joined #ocaml
avsm has quit [Quit: Leaving.]
javamonn has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
avsm has joined #ocaml
javamonn has quit [Remote host closed the connection]
avsm has quit [Client Quit]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
javamonn has joined #ocaml