flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.01.0 http://bit.ly/1851A3R | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
travisbrady has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
talzeus has quit [Remote host closed the connection]
<GlenK> so this guy makes my system start running out of memory and dipping in to swap: http://fpaste.org/44226/
<GlenK> any advice?
shinnya has quit [Ping timeout: 240 seconds]
csakatoku has joined #ocaml
cantstanya has quit [Ping timeout: 240 seconds]
GlenK has quit [Quit: ]
nisstyre has joined #ocaml
f[x] has joined #ocaml
csakatoku has quit [Remote host closed the connection]
q66 has quit [Quit: Leaving]
chrisdotcode_ has joined #ocaml
chrisdotcode_ has quit [Remote host closed the connection]
talzeus has joined #ocaml
chrisdotcode has quit [Ping timeout: 246 seconds]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
csakatoku has joined #ocaml
Simn has quit [Quit: Leaving]
GlenK has joined #ocaml
<GlenK> haha. moral of the story? don't run kde? had to log out and hit the console so I wouldn't run out of memory.
travisbrady has quit [Quit: travisbrady]
mcclurmc has joined #ocaml
boogie has quit [Remote host closed the connection]
f[x] has quit [Ping timeout: 245 seconds]
manizzle has quit [Ping timeout: 260 seconds]
weie_ has quit [Quit: Leaving...]
chrisdotcode has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest823
f[x] has joined #ocaml
serge has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Ping timeout: 252 seconds]
manizzle has joined #ocaml
Guest823 has quit [Remote host closed the connection]
cesar_ has joined #ocaml
cesar_ is now known as Guest53344
wormphlegm has quit [Ping timeout: 240 seconds]
wormphlegm has joined #ocaml
mcclurmc has quit [Quit: Leaving.]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
yacks has quit [Quit: Leaving]
boogie has quit [Remote host closed the connection]
yezariaely has joined #ocaml
ggole has joined #ocaml
serge has quit [Remote host closed the connection]
mchqwerty has joined #ocaml
gour has joined #ocaml
f[x] has quit [Ping timeout: 264 seconds]
serge has joined #ocaml
<adrien> well, it's also possible to fragment memory
<adrien> still have plenty of memory but fragmented
Neros has quit [Ping timeout: 245 seconds]
UncleVasya has joined #ocaml
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 246 seconds]
chris2 has quit [Ping timeout: 240 seconds]
chris2 has joined #ocaml
Snark has joined #ocaml
Fusebox has joined #ocaml
Guest53344 has quit [Remote host closed the connection]
f[x] has joined #ocaml
djcoin has joined #ocaml
ulfdoz has joined #ocaml
steshaw has quit [Ping timeout: 248 seconds]
mchqwerty has quit [Quit: Odcházím]
ggole has quit [Ping timeout: 256 seconds]
thomasga has joined #ocaml
<pippijn> what's the ocamlbuild flag to use menhir?
<pippijn> tag*
<adrien> use_menhir iirc
<adrien> ocamlbuild -long-help | grep menhir
<adrien> or something like that
<pippijn> I did true: use_menhir, and it uses ocamlyacc
<pippijn> oh, it's a flag, not a tag?
ggole has joined #ocaml
zpe has joined #ocaml
chrisdotcode_ has joined #ocaml
skchrko has quit [Read error: Operation timed out]
chrisdotcode has quit [Ping timeout: 245 seconds]
derek_c has joined #ocaml
<jpdeplaix> pippijn: nope. It's a tag
<jpdeplaix> and « true: use_menhir » in your _tags should work
skchrko has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
<adrien_oww> where were you trying to use it?
<pippijn> it works with true: use_menhir in the root dir
<adrien_oww> I meant, what had you tried that didn't work?
<pippijn> use_menhir in src/_tags
<adrien_oww> hmm, ok
thomasga has quit [Read error: Connection reset by peer]
thomasga1 has joined #ocaml
<ggole> Hmm, new version of menhir errors all over the place :/
<ggole> I might have to actually read the docs :(
ollehar has joined #ocaml
<pippijn> ggole: what error?
<ggole> Er, I mean merlin
<ggole> Sorry, thinko
<pippijn> ah
Kakadu has joined #ocaml
UncleVasya has quit [Remote host closed the connection]
<pippijn> I don't get it.. every other time I run my program (which runs ocamlbuild), the resulting binary is mode 600
mort___ has joined #ocaml
<adrien_oww> umask?
<pippijn> 077, yes
<pippijn> the binary should be 0700, not 0600
<adrien_oww> ah
<pippijn> every other time, it's not actually built
zpe has quit [Remote host closed the connection]
<pippijn> ok, fixed it
<adrien_oww> ?
<pippijn> I don't know what's the problem
<pippijn> I just worked around it
<pippijn> oh, I found the actual problem
<pippijn> there was a symlink that shouldn't be there
<pippijn> that caused things to "magically" appear in another place
yacks has joined #ocaml
demonimin has quit [Ping timeout: 260 seconds]
derek_c has quit [Quit: leaving]
Simn has joined #ocaml
weie has joined #ocaml
<ggole> Bleh. I'll just turn it off.
olibjerd has joined #ocaml
octet8 has joined #ocaml
mfp has joined #ocaml
demonimin has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
<pippijn> I think omake is too complex
<pippijn> it's not reasonable anymore
ollehar has joined #ocaml
<pippijn> when things work and when they don't is not clear to me at all
<pippijn> I'm unable to implement automatic recursion, although it should work the way I did it
zpe has joined #ocaml
f[x] has quit [Ping timeout: 251 seconds]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
Kakadu has quit [Ping timeout: 240 seconds]
csakatok_ has quit [Remote host closed the connection]
ollehar1 has joined #ocaml
ollehar has quit [Ping timeout: 246 seconds]
csakatoku has joined #ocaml
ulfdoz has joined #ocaml
Kakadu has joined #ocaml
csakatoku has quit [Remote host closed the connection]
malo has joined #ocaml
olibjerd has quit [Ping timeout: 240 seconds]
olibjerd has joined #ocaml
olibjerd has quit [Client Quit]
AltGr has joined #ocaml
darkf has quit [Quit: Leaving]
<pippijn> having a huge minor heap is good for omake, what is bad about having a huge minor heap?
<pippijn> it saves about 20%
<pippijn> (time)
<pippijn> 2 seconds out of 8, and actually more like 2 seconds out of 6, because it doesn't greatly affect the initial 1.8 seconds for startup
csakatoku has joined #ocaml
<pippijn> maybe with 128M, it just doesn't collect at all (or just once or twice)
Neros has joined #ocaml
nikki93 has joined #ocaml
<pippijn> yes, 2 minor collections during the build and 1 major collection
nikki93 has quit [Ping timeout: 264 seconds]
q66 has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]
wormphlegm has quit [Ping timeout: 240 seconds]
wormphlegm has joined #ocaml
octet8 has quit []
Neros has joined #ocaml
_andre has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
mcclurmc has joined #ocaml
talzeus has quit [Ping timeout: 240 seconds]
Fusebox has quit [Ping timeout: 260 seconds]
ollehar1 has quit [Ping timeout: 264 seconds]
csakatoku has quit [Remote host closed the connection]
yezariaely has quit [Quit: Leaving.]
ollehar has joined #ocaml
Drup has joined #ocaml
<ggole> I think the theory behind small minor heaps is to keep everything in cache
<pippijn> ok, I guess with omake that doesn't help
<mrvn> ggole: minor heaps allow temporary objects to be reclaimed qickly.
<ggole> That's the motivation for generational collection, yeah: but what size the nursery should be is still an interesting question.
talzeus has joined #ocaml
<mrvn> large enough to fit any temporary data structure.
<adrien_oww> pippijn: if you get an improvement that big it typically means that far too much allocations are made
talzeus__ has joined #ocaml
<mrvn> Like when you build a list and then return List.rev you want the temporary list in the minor heap only.
<mrvn> pippijn: the drawback of a large minor heap is that it wastes memory.
<mrvn> probably not an issue in omake
<pippijn> omake uses a lot of memory in my case
<ggole> Memory is cheap on some machines though
<pippijn> I have 12K rules
<mrvn> try different size and check the time and memory usage and then pick a reasonable compromise.
<pippijn> *** omake: done (1.08 sec, 1/3528 scans, 7/12827 rules, 18/29522 digests)
talzeus has quit [Ping timeout: 264 seconds]
<mrvn> pippijn: don't forget: http://xkcd.com/1205/
<adrien_oww> but you learn and more importantly, you get less frustrated
<pippijn> mrvn: I'm not going to spend time optimising omake
<ggole> Alternative answer: continue using omake for the next eighty years
<ggole> So that almost any amount of wasted time becomes useful
<ggole> s/omake/emacs/ and that might even approach making sense.
<pippijn> I have no idea how much time I've spent on my rules files
<pippijn> but yesterday I refactored them a little and saved over 50%
<pippijn> and today I changed one small thing and saved 4 seconds out of 13
<pippijn> it's worth it, because I use these a lot every day
<pippijn> probably somewhere between 5 and 50 times
<mrvn> pippijn: You already saved 2s. If you call it 50 times a day for the next 5 years then spending 10 days achieving that was worth it.
<adrien_oww> but that can benefit others too
<pippijn> if anybody ever wants to use my makefiles, yes
<pippijn> abstract mathematics
<pippijn> is this readable? https://paste.xinu.at/4Ps/
<flux> sure?
<Drup> pippijn: if you know eliom, yes very :D
<pippijn> hmm
<adrien_oww> don't listen to Drup, he has no taste: he does HTML and CSS
<mrvn> pippijn: On multi-line commands I tend to put one argument per line
<pippijn> mrvn: ~path:...\n ~get_params...?
<Drup> adrien_oww: actually, I don't do html directly ;)
<mrvn> pippijn: yep
<pippijn> would you also put the "return type" on a separate line?
<pippijn> Json.t<data>
<mrvn> pippijn: not sure. I do Printf.printf "format" \n arg1 arg2 arg3 often. Seems like that kind of thing.
<pippijn> yes
<pippijn> what about the fun formatting?
<mrvn> pippijn: single line if it is short, otherwise like yours.
<mrvn> pippijn: or if the indention gets too much I make a local function instead of a closure.
<pippijn> right
<pippijn> I think that won't be necessary with these things
<mrvn> password = "dunno";?
<pippijn> :)
<pippijn> it evolved
<pippijn> first, it echoed back everything
<pippijn> now it has a persistent user service
<adrien_oww> Drup: lies!
<Drup> adrien_oww: I use tyxml !
<adrien_oww> and for css?
<pippijn> tycss!
nisstyre has quit [Quit: Leaving]
<pippijn> https://paste.xinu.at/JfG/ <- Drup: the Eliom aliases module
<pippijn> I'm not sure I like this, though
hto_ has quit [Quit: Lost terminal]
<Drup> adrien_oww: html an javascript are reasonable enough in a way that you can actually use them as "backend"
<Drup> css is not
<ggole> I particularly like the way that the way to express that two quantities are the same in css is "type it again".
<adrien_oww> so you admit doing them by hand; burn the heretic!
<adrien_oww> :)
<ggole> It's good to do things by hand before you reach for automation
serge has quit [Remote host closed the connection]
<ggole> To get a sense for the brain damage you are trying to paper over.
<adrien_oww> heh, just stumbled on https://forge.ocamlcore.org/projects/ccss/
f[x] has joined #ocaml
<pippijn> mrvn: I have concluded that the chart is wrong
<pippijn> mrvn: I spend way too much time making things neat and efficient
<pippijn> mrvn: but when it's done, I'm very happy
<pippijn> mrvn: I'm almost like a gentoo user who fiddles with his USE flags until the system is just what he wants
<pippijn> mrvn: except that other people benefit from my fiddling, as well
<pippijn> mrvn: for example, my OMakefile: https://paste.xinu.at/JfG/
<pippijn> eh
<pippijn> mrvn: https://paste.xinu.at/v6c7j/ this
<pippijn> this is quite neat, and I'm quite happy with it
<pippijn> later, I want to make omake rules to generate debian packages from these input files
<pippijn> that will be very neat, saving next to no time, because I can also just copy/paste
<pippijn> but I will be happy when that is done
<pippijn> mrvn: so the chart is wrong, because it assumes people are robots (or companies)
<pippijn> happy people work more efficiently
<pippijn> thus indirectly saving time
<bernardofpc> and perhaps more importantly, as you said, you save time for other people
<bernardofpc> thus reducing global warming :D
<Drup> adrien_oww: I know ccss (and several other css preprocessor. It's a bit less braindead than css, but not that much.
* ggole ponders which of programming computers more efficiently or throwing them all into the ocean would be a more effective at making people happy and reducing global warming
Neros_ has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]
gasche has joined #ocaml
<gasche> hi #ocaml; I was off during ICFP, by chance
<adrien_oww> o/
<mrvn> ggole: I'm not sure having broken up computer parts show up on beaches will make people happy.
<ggole> Should be fine as long as they aren't functioning.
kay has joined #ocaml
kay is now known as Guest51551
mort___1 has joined #ocaml
mort___ has quit [Ping timeout: 240 seconds]
tobiasBora has joined #ocaml
thomasga has joined #ocaml
thomasga1 has quit [Read error: Connection reset by peer]
smondet has joined #ocaml
smondet has quit [Client Quit]
smondet has joined #ocaml
Kakadu_ has joined #ocaml
Kakadu has quit [Ping timeout: 250 seconds]
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
demonimin has quit [Ping timeout: 245 seconds]
demonimin has joined #ocaml
Fusebox has joined #ocaml
djcoin has quit [Ping timeout: 240 seconds]
Fusebox has quit [Ping timeout: 260 seconds]
djcoin has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest17349
shinnya has joined #ocaml
<kerneis> Included or excluded directories must be implicit
<kerneis> I hate this
<kerneis> def-lkb: :Locate does not work for constructors; is this a bug or a feature?
UncleVasya has joined #ocaml
<asmanur> an absence of feature i'd say
mort___1 has quit [Quit: Leaving.]
thomasga has quit [Read error: Operation timed out]
<gasche> kerneis: your draft is just out of the printer, I'll have a look this week-end
Guest51551 has quit [Remote host closed the connection]
Guest17349 has quit [Remote host closed the connection]
<rks`> kerneis: it should work for constructors.
<rks`> understand: it did at some point, on my particular setup
<rks`> do you have an example of a situation where it doesn't?
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
AltGr has quit [Quit: Konversation terminated!]
<def-lkb> kerneis: constructors in patterns on in expressions ?
<kerneis> def-lkb: patterns
<kerneis> it's a constant constructor, defined in another file
<kerneis> and pattern-matched on
malo has quit [Quit: Leaving]
<def-lkb> ok, it's less surprising
<kerneis> but in fact, it doesn't change a thing
<kerneis> expression or pattern-matching behave the same here
<kerneis> as well as non-constant constructors
<kerneis> but it works within a file
<def-lkb> Ok. Therefore we just have to wait for rks` to fix that
<rks`> yes it should behave the same in pattern and expressions
<rks`> kerneis: did you compile with -bin-annot?
<rks`> we need cmt files for locate (since the cmi contains no location information)
<kerneis> ok, it's a bug in ocamlbuild
<kerneis> it does not build the .cmt
<rks`> :D
<kerneis> my file is a symbolic-link to ../something
<kerneis> I suspect this is related
<rks`> good luck :'
<kerneis> oh wait wait wait
<kerneis> which version of ocaml do I need?
<ggole> Is this merlin? It needs -bin-annot to work?
<rks`> kerneis: >= 4.00.1
<ggole> (Because that might explain why I was beating my head against it earlier.)
<kerneis> hmm, looks fine
<rks`> merlin only needs cmt files for the locate command (:Locate under vim, merlin-locate in emacs)
<kerneis> $ which ocamlbuild
<kerneis> /home/gabriel/.opam/4.00.1/bin/ocamlbuild
<kerneis> $ ocamlbuild -documentation|grep annot
<kerneis> flag {. annot, compile, ocaml .} "-annot"
<ggole> Aha
<ggole> But why doesn't it say something about that, rather than Foo.glob not found?
<rks`> kerneis: in 4.00.1 the bin_annot tag doesn't exist yet
<kerneis> arg
<kerneis> stupid me
<kerneis> thanks
<rks`> no problem
<rks`> well ggole, what should it say?
<rks`> I'm open to suggestions
<ggole> Foo.glob not found (no .cmt for Foo), perhaps?
<rks`> right
<rks`> yeah I'll improve that for the next release
<ggole> I guess you'd want it to be a reasonable message even if Foo truly didn't exist, since you might just fat-finger something
travisbrady has joined #ocaml
<ggole> One other thing about the emacs client: merlin-mode adds an entry to post-command-hook, which can slow down emacs a bit
<ggole> (Only really a problem when you are holding down C-f, but still annoying.)
<ggole> It would be nice if merlin-mode used a fast idle timer instead.
<kerneis> ok, now I have MerlinException u'Cmi_format.Error(_)', but I suspect my setup is broken, I'll do a fresh opam switch later
<rks`> ggole: right
<rks`> that was a recent contribution from an external source
<rks`> could you open an issue about it?
<ggole> Yeah, ok
<rks`> (so he might see it, or so we don't forget if he doesn't)
<rks`> kerneis: that should be catched
<rks`> but anyway what's going on here is :
<rks`> you have a merlin compiled to handle cmi for ocaml 4.00.1 but your project is compiled with 4.01.0
<rks`> (or well, revert that)
<rks`> (or well, any other two versions of ocaml)
<rks`> kerneis: could you run 'ocamlmerlin -version' ?
<rks`> it should tell you which version of ocaml your merlin supports
thomasga has joined #ocaml
<kerneis> rks`: I thought that would be the issue, but it seems not to be
<kerneis> 4.01.0+beta1 from opam in both cases
<kerneis> everything installed by opam
<kerneis> and project rebuilt from scratch
<kerneis> but this project is a maze of dependencies, I might have missed something
<rks`> well kerneis
<rks`> you "which ocamlbuild" says you're using 4.00.1
<rks`> that doesn't match 4.01.0+beta1
<kerneis> rks`: I `opam switch`ed in the meantime ;-)
<rks`> (but you may have opam switched since, I don't know)
<rks`> right ok
<rks`> weeeeeeeell
<rks`> I don't know :)
<kerneis> it used to work on other projects
<kerneis> I surely did something stupid
<kerneis> let's go to happy hour
<kerneis> everything will be clearer on Monday
<rks`> :D
<rks`> enjoy
<kerneis> bye everybody
shinnya has quit [Ping timeout: 260 seconds]
<ggole> rks`: done
<rks`> :)
<def-lkb> thanks
nikki93 has joined #ocaml
Neros_ has quit [Read error: Operation timed out]
Xom has joined #ocaml
Xom has quit [Client Quit]
ulfdoz has quit [Ping timeout: 260 seconds]
ollehar has quit [Ping timeout: 252 seconds]
ulfdoz has joined #ocaml
ollehar has joined #ocaml
yezariaely has joined #ocaml
Kakadu_ has quit []
f[x] has quit [Ping timeout: 256 seconds]
djcoin has quit [Quit: WeeChat 0.4.1]
nikki93 has quit [Remote host closed the connection]
nlucaroni has joined #ocaml
Neros has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
f[x] has joined #ocaml
tobiasBora has quit [Ping timeout: 264 seconds]
wormphlegm has quit [Ping timeout: 264 seconds]
thomasga has quit [Quit: Leaving.]
tobiasBora has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
toolslive has joined #ocaml
manizzle has quit [Ping timeout: 245 seconds]
zpe has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 264 seconds]
f[x] has quit [Ping timeout: 264 seconds]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
breakds has joined #ocaml
manizzle has joined #ocaml
Snark has quit [Quit: leaving]
ggole has quit []
darkf has joined #ocaml
Kakadu has joined #ocaml
<travisbrady> Is anyone aware of an OCaml redid client that supports sorted sets?
zpe has joined #ocaml
ocp has joined #ocaml
<travisbrady> Pardon me, redis client.
UncleVasya has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
ocp has quit [Ping timeout: 264 seconds]
Anarchos has joined #ocaml
yezariaely has quit [Quit: Leaving.]
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
gour has quit [Quit: WeeChat 0.4.1]
ocp has joined #ocaml
_andre has quit [Quit: leaving]
ocp has quit [Ping timeout: 252 seconds]
tobiasBora has quit [Quit: Konversation terminated!]
ollehar has joined #ocaml
Yoric has joined #ocaml
metasyntax has quit [Quit: Leaving]
<companion_cube> \o
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
travisbrady has quit [Quit: travisbrady]
weie has quit [Read error: Connection reset by peer]
weie has joined #ocaml
saml has quit [Quit: Leaving]
Yoric has quit [Ping timeout: 252 seconds]
Drup1 has joined #ocaml
Drup has quit [Quit: Leaving.]
nlucaroni has quit [Quit: leaving]
julm has quit [Ping timeout: 248 seconds]
cthuluh has quit [Ping timeout: 264 seconds]
toolslive has quit [Quit: Leaving]
travisbrady has joined #ocaml
zpe has quit [Remote host closed the connection]
Drup1 is now known as Drup
caseyjames has joined #ocaml
<caseyjames> Does anyone here use ocamlgraph? Is there any way to label edges or give them any kind of value?
<companion_cube> I think you can, everything is parametrized by functors
shinnya has joined #ocaml
<caseyjames> companion_cube: are you speaking in a general sense or in regards to ocaml in particular?
Simn has quit [Quit: Leaving]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
mfp has quit [Ping timeout: 252 seconds]
zpe has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-280704]: i've been blurred!]
zpe has quit [Ping timeout: 246 seconds]
Fusebox has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
nikki93 has joined #ocaml
ollehar has quit [Quit: ollehar]