flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
osnr has quit [Quit: Leaving.]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
sclv has joined #ocaml
ben_zen has quit [Quit: rebooting.]
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
structuralist has quit []
csakatoku has joined #ocaml
derek_c has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
alxbl has quit [Ping timeout: 240 seconds]
alxbl has joined #ocaml
gnuvince has joined #ocaml
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
gnuvince has quit [Remote host closed the connection]
gnuvince has joined #ocaml
derek_c has quit [Quit: leaving]
osnr has quit [Ping timeout: 268 seconds]
csakatoku has quit [Remote host closed the connection]
talzeus has joined #ocaml
csakatoku has joined #ocaml
gnuvince has quit [Remote host closed the connection]
Tekk_ has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
Neros has quit [Read error: Connection reset by peer]
Neros has joined #ocaml
osnr has quit [Ping timeout: 246 seconds]
darkf has joined #ocaml
alang has quit [Ping timeout: 245 seconds]
alang has joined #ocaml
kaustuv has joined #ocaml
<kaustuv> Is there a reason that batteries.2.0.0 won't install on 4.02.0dev+trunk but will in 4.00.1 (in opam)?
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<kaustuv> Ah, batteries.2.0.0.opam has: ocaml-version: [<= "4.00.1"]
justdit has joined #ocaml
kaustuv has left #ocaml []
so has quit [Ping timeout: 268 seconds]
Neros has quit [Ping timeout: 255 seconds]
so has joined #ocaml
justdit has quit [Read error: Connection reset by peer]
ygrek has joined #ocaml
Drup has quit [Quit: Leaving.]
osnr has quit [Quit: Leaving.]
Tekk_ has quit [Ping timeout: 255 seconds]
justdit has joined #ocaml
walter has joined #ocaml
walter|r has quit [Ping timeout: 256 seconds]
ggole has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<gasche> rgrinberg: what do you meanm
<gasche> , n
<gasche> "no streams"?
<gasche> (sorry)
justdit has quit [Quit: Lost terminal]
ulfdoz has joined #ocaml
pootler_ has quit [Quit: Lost terminal]
pootler__ has quit [Quit: Lost terminal]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
pootler_ has quit [Client Quit]
pootler__ has quit [Client Quit]
osnr has quit [Quit: Leaving.]
pootler_ has joined #ocaml
gnuvince has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
pootler_1 has quit [Client Quit]
pootler_ has quit [Quit: Lost terminal]
pootler__ has quit [Client Quit]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
pootler_2 has joined #ocaml
pootler_3 has joined #ocaml
pootler_4 has joined #ocaml
cthuluh has quit [Remote host closed the connection]
pootler_2 has quit [Quit: Lost terminal]
pootler_ has quit [Quit: Lost terminal]
pootler_4 has quit [Client Quit]
pootler__ has quit [Quit: Lost terminal]
pootler_1 has quit [Quit: Lost terminal]
pootler_3 has quit [Client Quit]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
pootler_2 has joined #ocaml
kaustuv has joined #ocaml
pootler_1 has quit [Client Quit]
pootler_ has quit [Client Quit]
pootler_2 has quit [Client Quit]
pootler__ has quit [Client Quit]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler__ has quit [Client Quit]
pootler_ has quit [Client Quit]
pootler_ has joined #ocaml
pootler_ has quit [Client Quit]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler__ has quit [Client Quit]
pootler__ has joined #ocaml
derek_c has joined #ocaml
pootler_1 has joined #ocaml
pootler_ has quit [Ping timeout: 255 seconds]
zpe has joined #ocaml
talzeus_ has joined #ocaml
talzeus has quit [Read error: Connection reset by peer]
Watcher7 is now known as Watcher7|off
ygrek has quit [Ping timeout: 246 seconds]
talzeus_ has quit [Remote host closed the connection]
talzeus has joined #ocaml
thomasga has joined #ocaml
ulfdoz has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ulfdoz has quit [Ping timeout: 268 seconds]
ulfdoz has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
ulfdoz has quit [Ping timeout: 246 seconds]
csakatok_ has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
Snark has joined #ocaml
csakatoku has quit [Ping timeout: 256 seconds]
testcocoon has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
sgnb has quit [Remote host closed the connection]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
sgnb has joined #ocaml
djcoin has joined #ocaml
mika1 has joined #ocaml
ygrek has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ontologiae_ has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
raichoo has joined #ocaml
f[x] has joined #ocaml
ygrek has quit [Ping timeout: 248 seconds]
derek_c has quit [Quit: Lost terminal]
chrisdotcode has quit [Ping timeout: 268 seconds]
q66 has joined #ocaml
testcocoon has quit [Read error: Connection reset by peer]
Kakadu has joined #ocaml
testcocoon has joined #ocaml
structuralist has joined #ocaml
Kakadu has quit [Ping timeout: 246 seconds]
gnuvince has quit [Ping timeout: 264 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 276 seconds]
ttamttam has joined #ocaml
mcclurmc has quit [Ping timeout: 256 seconds]
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
UncleVasya has joined #ocaml
Kakadu has joined #ocaml
Uvs has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
Kakadu has quit [Ping timeout: 246 seconds]
Uvs has quit [Quit: Uvs]
osnr has joined #ocaml
osnr has quit [Ping timeout: 246 seconds]
mcclurmc has joined #ocaml
ollehar has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
jcao219 has joined #ocaml
ulfdoz has joined #ocaml
kakadu has joined #ocaml
gautamc has joined #ocaml
jathd has quit [Ping timeout: 276 seconds]
dsheets has quit [Ping timeout: 240 seconds]
osnr has joined #ocaml
ulfdoz has quit [Read error: Connection reset by peer]
osnr has quit [Ping timeout: 264 seconds]
f[x] has quit [Ping timeout: 256 seconds]
ulfdoz has joined #ocaml
introom has joined #ocaml
spanish has joined #ocaml
ulfdoz has quit [Read error: Connection reset by peer]
cthuluh has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
dsheets has joined #ocaml
talzeus has quit [Ping timeout: 276 seconds]
Drup has joined #ocaml
_andre has joined #ocaml
Drup has left #ocaml []
ygrek has joined #ocaml
Drup has joined #ocaml
f[x] has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
structuralist has quit []
ttamttam has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
ttamttam has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
blues has joined #ocaml
Neros has joined #ocaml
Drup has quit [Quit: Leaving.]
Drup1 has joined #ocaml
csakatok_ has quit [Remote host closed the connection]
blues has quit [Quit: Page closed]
adrien_o1w is now known as adrien_oww
<adrien_oww> morning
<kaustuv> Are there any alternatives to the stdlib's Format?
<MarcWeber> kaustuv: Sure, you can always write your own syntax extensions ..
<MarcWeber> I don't know ocaml well .. so this may have been done or not - no idea.
<adrien_oww> Psomething
<adrien_oww> hmmm
<adrien_oww> EasyFormat
<adrien_oww> by Martin Jambon
<adrien_oww> and maybe something by Jun Furuse
<MarcWeber> If anybody is using Vim, you can debug ocaml using Vim now: github.com/MarcWeber/vim-addon-ocamldebug
<kaustuv> adrien_oww: EasyFormat is built on top of Format, so I don't think it will work for me
<adrien_oww> kaustuv: well, what are your criteria?
<kaustuv> Here's what I need: I need a way for a "callback" to be called when something is flushed to the output channel.
<kaustuv> Which will need to know the line and column number
<adrien_oww> MarcWeber: oh, great; I remember you starting work on that several months back
<adrien_oww> thanks =)
<MarcWeber> Did I ? :) Took me a half day yesterday adopting code I wrote earlier.
<MarcWeber> Eg why doesn't bt (ocamldebug) show human friendly line numbers?
speredenn has joined #ocaml
<MarcWeber> I mean when setting breakpoitns it does so anyway .. so the code must be there
<MarcWeber> adrien_oww: How would you try to find out why a bytecode compiled ocaml projects behaves differently then a native compiled one? Is there a better method than trying to use the debugger to find points to trace states and compare them?
Drup1 is now known as Drup
<hcarty> kaustuv: There is pprint or something close to that... I don't remember the exact name.
<hcarty> kaustuv: This is one, but I think there are other more complete options: https://github.com/toyvo/ocaml-pretty
<adrien_oww> I think that's the one by Jun Furuse
<adrien_oww> MarcWeber: dunno; afair there are known differences between the two
<adrien_oww> (ah, right, not Jun)
<hcarty> kaustuv: Yeah, I think that's the one
<gasche> kaustuv: I have used François Pottier's PPrint and rather like it
<kaustuv> From a cursory glance it seems to meet my needs. Thanks for the suggestion.
<MarcWeber> adrien_oww: Can I read up about that? Maybe it makes me find out what to look for.
<gasche> Bob Atkey has an implementation based on rather similar ideas ( https://github.com/bobatkey/pretty-monospace )
<kaustuv> I think they are all variants of old stuff by Daan Leijen, Phil Wadler, etc.
Tobu has quit [Ping timeout: 256 seconds]
<gasche> kaustuv: yes and no
<gasche> because the people you cite themselves developped variants of stuff that was done in the eighties
<gasche> Wadler took the eighties algorithm, and presented a lazy version of it
<gasche> Pottier took Daan's implementation of Wadler's algorithm, and developed a strict version of it
<gasche> He believes that this is essentially the original algorithm or something close, I haven't checked it
<gasche> (the original work was done by Oppen, the same as in Nelson-Oppen I believe)
sclv has quit [Ping timeout: 240 seconds]
f[x] has quit [Ping timeout: 268 seconds]
sclv has joined #ocaml
<gasche> MarcWeber: the link to your github repo is dead
<gasche> and I can't find anything of the same name on your github page
<kaustuv> Do ocamlpro/ocamllabs/ocamlcore/whoever have any plans to put api docs for packaged ocaml libraries in some canonical place, like hackage for Haskell? Does this already exist?
<gasche> GODI does that
<gasche> I think this was one of the plans of Oasis-DB as well, but Sylvain has reduced workforce currently
<MarcWeber> Is there Std.dump with recursion limit (like the debugger has)?
metasyntax has joined #ocaml
<avsm> kaustuv: yeah. it'll be on ocaml.org. we've got a new ocamldoc almost complete (just fixing some bugs in -pack) that does cross referencing
<adrien_oww> a new ocamldoc? can you detail that?
<kaustuv> That's great news.
<adrien_oww> MarcWeber: sorry, I don't know where to get the exact details about that
<gasche> (there are other sources of potentially different behavior coming from the "unspecified" behaviors in OCaml, such as argument evaluation order)
<avsm> nothing's written up yet except for http://www.cl.cam.ac.uk/projects/ocamllabs/tasks/platform.html#OPAM%20Doc
<avsm> but will be soon. it's easier to demo than to write about beforehand
<kaustuv> Argument evaluation order is still different? A quick experiment shows that this behaves identically in the toplevel and when compiled: let f x y = () in f (print_endline "one") (print_endline "two");;
<kaustuv> (compiled with ocamlopt, of course)
<adrien_oww> kaustuv: no, it was the matter of a bug report around one or two years ago
<adrien_oww> and was changed for the sake of uniformity
<MarcWeber> If you timetravel in the debugger, how can it print and display values?
<MarcWeber> Does it copy the state of the application for each step?
pootler_1 has quit [Ping timeout: 256 seconds]
speredenn has quit [Quit: Leaving]
<kaustuv> It uses fork(), so copy-on-write for the most part
pootler_ has joined #ocaml
<MarcWeber> Should I have a process running for each step then?
ollehar has quit [Read error: Operation timed out]
Tobu has joined #ocaml
<ggole> I think it stores a snapshot at every N steps.
<ggole> Stepping backwards is then restoring from last snapshot and moving forward however many steps.
<ggole> (Don't take that as gospel.)
<whitequark> ggole: I think gdb actually interprets instructions in reverse
f[x] has joined #ocaml
<whitequark> aka "why debuggers these days implement significant chunks of x86 interpreters"
<ggole> How do they reconstruct destroyed state?
<whitequark> record it?
<ggole> Hmm
<ggole> I guess those are equivalent.
<whitequark> one of these does not involve syscalls, though.
<whitequark> lemme check how lldb does it.
<whitequark> while I'm at it:http://velvetpulse.com/2012/11/27/scribe-the-deterministic-transparent-record-replay-engine/
<ggole> I tend to avoid debuggers tbh
<MarcWeber> using that hack I've created two stack traces: one with ocamlopt, one with ocamlc.
<ggole> I'm not sure how much of that is because of the awfulness of gdb, though
<MarcWeber> You see that from line 23 to 17 everything is fine, then the trace starts differing
<whitequark> ggole: scribe is different though
<whitequark> it's not for debugging, but for recording not spatial, but temporal backtraces
<ggole> So you say "gimme the value(s) of x" and get a sequence of x's?
<ggole> Hmm
<whitequark> ggole: not really :)
<whitequark> read the article
<ggole> Oh, I see
<ggole> That sounds kinda hard, in the general case
<whitequark> ggole: yes, but he did it
<whitequark> I have no idea how, to be honest; the paper is in my reading list for a while
<whitequark> but it looks really cool.
* ggole watches the video
<whitequark> he uses a patched linux kernel; to my knowledge, that's only to intercept syscalls
<ggole> Interesting
<ggole> But how much language specific machinery do you need for good visibility into the recorded process?
<ggole> Cool beans though
<whitequark> as I understand it, you're fine with just gdb, if from within gdb you can introspect your runtime
<whitequark> this is true for eg ruby
<whitequark> and also he writes that he has a way to augment scribe with language-specific stuff
<whitequark> also it looks like it can replay race conditions, i.e. scheduling.
<whitequark> that is really, really interesting, especially if coupled with something like tsan.
<whitequark> sounds like it is possible to make a sanitizer which can automatically detect races, reproduce and create test cases for them, for general-purpose C++ stuff
<whitequark> well, a subset of
mika1 has quit [Quit: Leaving.]
<whitequark> no, probably not test cases. but even a human-readable description is very valuable.
<ggole> So it records all temporal interactions? Even word tearing?
f[x] has quit [Ping timeout: 268 seconds]
<ggole> (Or equivalent stuff)
<whitequark> good question
<whitequark> one of us needs to read the paper :)
<ggole> Hah!
<kaustuv> Who has time to read papers? I'm busy proving my code correct.
<whitequark> kaustuv: so you can avoid running it?
kaustuv has left #ocaml []
<MarcWeber> Do you know about a preprocessor which adds tracing lines to the code?
<MarcWeber> So that you know when ocamlopt and ocamlc do something differently fast?
skchrko has quit [Quit: Leaving]
yacks has quit [Quit: Leaving]
kakadu is now known as Kakadu
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
pootler_ has quit [Ping timeout: 255 seconds]
pootler__ has quit [Ping timeout: 276 seconds]
osnr has quit [Ping timeout: 248 seconds]
skchrko has joined #ocaml
alxbl has quit [Quit: Error 3: This should never happen]
<jdoles> I get the following error message (full commands and output included): http://paste.kde.org/781718/
<Leonidas> jdoles: you need to have libffi.so.6
<Leonidas> depending on your distribution it is probably in a package called libffi
<Leonidas> http://packages.debian.org/jessie/libffi6 this one for Debian Jessie
<jdoles> Leonidas: running ldd on the mentioned so shows that the linker can find it.
<jdoles> Leonidas: the OCaml/opam toolchain must thus be broken in some way.
<Leonidas> jup, I'd agree.
introom has quit [Remote host closed the connection]
<avsm> have you run `opam config env` ?
<avsm> you need to ensure the stublibs dir is found
<avsm> otherwise, bug report on http://github.com/ocamllabs/ocaml-ctypes with info on how you installed it, please
<jdoles> avsm: yes
<jdoles> avsm: I did opam install ctypes and I ran utop.
<avsm> need to know gcc versions and such. might be an -as-needed thing
<jdoles> 4.6
chrisdotcode has joined #ocaml
<jdoles> I think it's just a matter of not handling multi-arch correctly.
<avsm> (in a bug report, i'm heading out now)
avsm is now known as avsm^away
alxbl has joined #ocaml
watermind has joined #ocaml
alxbl has quit [Client Quit]
alxbl has joined #ocaml
rgrinberg has quit [Quit: WeeChat 0.4.1]
alxbl has quit [Quit: Reconnecting]
alxbl has joined #ocaml
darkf has quit [Quit: Leaving]
raichoo has quit [Quit: leaving]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
justdit has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
weie has quit [Quit: Leaving...]
<pippijn> I have a problem with ocaml and C++
<pippijn> OCAMLPATH=../../../../../../_install/lib ocamlfind ocamlopt -package baselib,camlp4.fulllib,codegen,sexplib.syntax -annot -g -I . -o re2ml.opt ast.cmx charClass.cmx automaton.cmx nfa.cmx options.cmx dfa.cmx emitCode.cmx parser.cmx lexer.cmx minimisation.cmx parse.cmx reachability.cmx resolve.cmx simplify.cmx re2ml.cmx -linkpkg
<pippijn> ok
<pippijn> ocamlfind ocamlopt -package baselib,$(DEPS) -annot -g -I . -o re2ml.opt $(CMX) -linkpkg
<pippijn> baselib is an ocaml library of mine that uses C++
<pippijn> I linked it with -cclib '-lstdc++ -lz'
justdit_ has joined #ocaml
<pippijn> and I find that it does indeed call gcc with the appropriate flags
<pippijn> but in the wrong order
justdit has quit [Read error: Connection reset by peer]
<pippijn> it puts -lstdc++ *before* -lbaselib_stubs
UncleVasya has joined #ocaml
<pippijn> oh, maybe I know..
Tekk_ has joined #ocaml
<amiller_> what would anyone recommend for measuring the ocaml heap allocation during operations
<companion_cube> amiller_: sampling Gc.stats()? :)
<amiller_> i basically want to see how much memory in actuality some algorithms take up
<amiller_> hmmm, gc.stats
<amiller_> ok
<pippijn> yeah, it was my own fault, never mind
<adrien_oww> pippijn: I remember something annoying with that
<companion_cube> hmm, Gc.stat, sorry
<companion_cube> look in the documentaiton of the Gc module
<adrien_oww> pippijn: NaCl was probably the one being hurt in the process and I don't remember exactly how it ended
<amiller_> companion_cube, i don't suppose there's a way of sampling it from outside the program
<amiller_> as opposed to just placing my own calls to gc.stat everywhre within my code
avsm^away is now known as avsm
<amiller_> i guess "top_heap_words" gives me the high-water-mark so to speak
djcoin has quit [Quit: WeeChat 0.4.0]
<pippijn> omake -j8 58.82s user 72.04s system 285% cpu 45.895 total
<pippijn> building *everything*
<pippijn> *** omake: done (0.70 sec, 0/306 scans, 0/1091 rules, 0/2568 digests)
<pippijn> all my projects that use omake
<pippijn> I am happy with omake
osa1 has joined #ocaml
pootler_1 has joined #ocaml
ttamttam has quit [Quit: ttamttam]
pootler__ has quit [Ping timeout: 255 seconds]
pootler_ has quit [Ping timeout: 276 seconds]
pootler_ has joined #ocaml
justdit_ has quit [Read error: Connection reset by peer]
justdit has joined #ocaml
<pippijn> wmeyer: what about treematch?
csakatoku has joined #ocaml
<ggole> amiller_: Gc.allocated_bytes?
<whitequark> omake?
<pippijn> whitequark: yes, omake
<amiller_> ggole, I guess my concern is that if I don't insert Gc.allocated_bytes into the right places in my code then I'll get misleading measurements from that sample
<amiller_> what I'd probably want is sampling inserted automatically like by ocamlprof (i think)
<amiller_> oh wait i think i misunderstood the doc
<ggole> Hmm
<amiller_> "Return the total number of bytes allocated since the program was started."
<amiller_> does that mean it never goes down?
<ggole> Yeah
<ggole> You call it once, call it again once you are done
<ggole> Print the difference
<amiller_> right
<pippijn> Active filesystem monitoring, where the build automatically restarts whenever you modify a source file. This can be very useful during the edit/compile cycle.
<pippijn> this is useful, but doesn't work with vpath builds :(
<pippijn> because it vpath builds are done with symbolic links, and inotify doesn't follow links
<pippijn> and after half an hour of looking at the omake code, I couldn't find the place where I could make it follow links when adding the watches
<MarcWeber> pippijn: ruby -> guard -> that should be less than 3 lines to create rulres for anything
<pippijn> MarcWeber: the point of having it inside the build system is that it doesn't need to stat everything
<MarcWeber> Eg you can say **/*.ml any change then recompile
csakatoku has quit [Ping timeout: 276 seconds]
<MarcWeber> pippijn: there are many different solutions, depending on the amount of files.
chrisdotcode has quit [Ping timeout: 246 seconds]
<MarcWeber> For haxe I've written a build system based on rake. However I first create the rules, then create rake tasks. Thus I can also create a makefile or whatsoever.
<MarcWeber> However I don't think the code is nice enough to be reused for arbitrary ocaml projects.
<MarcWeber> However I'd be willing collaborating on such a goal
<pippijn> MarcWeber: does ruby guard add new files to the watch?
<whitequark> pippijn: yeah
<pippijn> ok
<pippijn> that's nice
<pippijn> right now, I use this: https://paste.xinu.at/0OS/
<pippijn> it doesn't work very well
<pippijn> "inotifywait -e modify -e create -e close_write -r src" is better
Kakadu has quit [Quit: Konversation terminated!]
tane has joined #ocaml
<whitequark> pippijn: really, try guard
<whitequark> it was written for this use case
f[x] has joined #ocaml
<pippijn> whitequark: ok, maybe later
<whitequark> though building ocaml source with ruby is not unlike pulling ferrari with horses
<whitequark> if you pardon my analogy
<pippijn> I disagree
<pippijn> but
<pippijn> build systems written in script languages often use the language itself for its rules
<pippijn> I don't like that
<pippijn> I even don't like it in ocamlbuild
<pippijn> it's not bad in ocamlbuild
dsheets has quit [Ping timeout: 255 seconds]
<whitequark> when build systems don't use the language itself, it's even worse
<whitequark> because they are arbitrarily limited then.
<whitequark> (ruby remark) it was more snarky than insightful. nothing to agree with.
bkpt has joined #ocaml
bkpt_ has joined #ocaml
bkpt_ has quit [Client Quit]
thomasga has quit [Quit: Leaving.]
<pippijn> whitequark: I find omake to be very good
<pippijn> not perfect, but very good
<whitequark> pippijn: what's wrong with ocamlbuild?
<pippijn> a lot
<pippijn> I probably wouldn't mind it if omake were a library and the rules were written in ocaml
<whitequark> (please note that I started using it yesterday)
<pippijn> whitequark: for example, the lacking ability to write system-installed plugins
<pippijn> so I copy/paste (automatically, with sed) all my ocamlbuild rules into every myocamlbuild.ml
<pippijn> for example, rules for atdgen, or C++, or another code generation tool
<pippijn> I have many projects, and I don't want to keep the myocamlbuilds up to date separately
<pippijn> it would be better if I could just import the rules from some library
<whitequark> I see
<whitequark> extend ocamlbuild?
<pippijn> yes
<pippijn> you have to, if you want custom rules
<pippijn> because it doesn't have an extension language
<pippijn> ocaml is the extension language
<whitequark> no, I meant extend ocamlbuild and make it search for system-wide plugins
<pippijn> oh
<pippijn> you mean me?
<pippijn> no
<pippijn> I don't like ocamlbuild's code
<whitequark> :D
<pippijn> and I use omake now
justdit_ has joined #ocaml
justdit has quit [Read error: Connection reset by peer]
watermind has quit [Quit: Konversation terminated!]
pango_ has joined #ocaml
pango has quit [Disconnected by services]
pango_ is now known as pango
emmanuelux has joined #ocaml
justdit_ has quit [Read error: Connection reset by peer]
f[x] has quit [Remote host closed the connection]
ygrek has joined #ocaml
csakatoku has joined #ocaml
ontologiae_ has quit [Ping timeout: 248 seconds]
ontologiae_ has joined #ocaml
csakatoku has quit [Ping timeout: 268 seconds]
tane has quit [Quit: Verlassend]
ontologiae_ has quit [Ping timeout: 268 seconds]
mcclurmc has quit [Read error: Operation timed out]
gnuvince has joined #ocaml
Asmadeus has quit [Ping timeout: 276 seconds]
Asmadeus has joined #ocaml
samebchase has left #ocaml []
Drup has quit [Ping timeout: 255 seconds]
travisbrady has joined #ocaml
spanish has quit [Quit: Leaving]
<NaCl> adrien_oww: wa
<NaCl> t
<troydm> pippijn: me too
<troydm> i pretty much like omake
rgrinberg has joined #ocaml
Drup has joined #ocaml
<pippijn> troydm: ocaml support is a bit crude, but my extension made it usable
<troydm> pippijn: cool
<pippijn> note that baselib is an in-tree dependency
<pippijn> and the rest are findlib dependencies
<pippijn> they are handled uniformly
<pippijn> like in oasis
<pippijn> actually the word "External" is from old times when I had them split
<pippijn> now it should just be "Dependencies"
ttamttam has joined #ocaml
yacks has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 255 seconds]
Kakadu has joined #ocaml
raichoo has joined #ocaml
travisbrady has quit [Quit: travisbrady]
jcao219_ has joined #ocaml
jcao219 has quit [Read error: Connection reset by peer]
ttamttam has left #ocaml []
tane has joined #ocaml
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 276 seconds]
Watcher7|off is now known as Watcher7
ggole has quit []
ygrek has quit [Ping timeout: 240 seconds]
csakatoku has joined #ocaml
jcao219_ has quit [Ping timeout: 268 seconds]
csakatoku has quit [Ping timeout: 255 seconds]
justdit has joined #ocaml
Snark has quit [Remote host closed the connection]
jcao219_ has joined #ocaml
justdit has quit [Ping timeout: 256 seconds]
jcao219_ is now known as jcao219
_andre has quit [Quit: leaving]
lusory has quit [Ping timeout: 256 seconds]
structuralist has joined #ocaml
<whitequark> does ocaml have arbitrary precision integers?
<whitequark> not infinite
raichoo has quit [Quit: Lost terminal]
<adrien> it has big ints in the Num module
<adrien> or
<companion_cube> whitequark: or zarith
<whitequark> adrien: that would be infinite, no?
<adrien> what companion_cube said
<adrien> Num - Operation on arbitrary-precision numbers.
<whitequark> hm
* adrien -> bed
<whitequark> no, that's bignums. I want int32, but for parametric number of bits
<whitequark> I guess I can make them myself, though.
<orbitz> zarith won't do what you watn?
<whitequark> checking it now
<whitequark> from the description it doesn't seem so
<whitequark> wtf, why do I have to register on ocamlforge in order to view docs?!
<orbitz> yes, very lame
<orbitz> i just installed via opam and poked around the .mli
<companion_cube> whitequark: can't you use zarith or Num, modulo the power of two you need?
<whitequark> companion_cube: sure, that's why I said I can make them myself
<whitequark> it is just kind of messy
<whitequark> well, my ruby implementation was, for sure.
troydm has quit [Ping timeout: 248 seconds]
<wmeyer> companion_cube orbitz adrien hi
<companion_cube> hi wmeyer
<wmeyer> hi companion_cube
UncleVasya has quit [Quit: UncleVasya]
<orbitz> hi
<wmeyer> hi orbitz
<orbitz> hi
mcclurmc has joined #ocaml
Kakadu has quit []
osa1 has quit [Quit: Konversation terminated!]
pootler_ has quit [Ping timeout: 248 seconds]
pootler_1 has quit [Ping timeout: 255 seconds]
tianon has quit [Quit: "I'm a very important man. I've got a tower!"]
q66 has quit [Remote host closed the connection]
travisbrady has joined #ocaml
cthuluh has quit [Remote host closed the connection]
zpe_ has quit [Remote host closed the connection]
csakatoku has joined #ocaml
gnuvince has quit [Ping timeout: 256 seconds]
csakatoku has quit [Ping timeout: 255 seconds]
tianon has joined #ocaml
troydm has joined #ocaml
ollehar has joined #ocaml
troydm has quit [Ping timeout: 248 seconds]
jayprich has joined #ocaml
troydm has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<bobry> why ?rng type is erased in this code sample: http://paste.in.ua/8394/
jcao219 has quit [Ping timeout: 240 seconds]
chrisdotcode has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
travisbrady has joined #ocaml
gautamc has joined #ocaml
tane has quit [Quit: Verlassend]
maxibolt has joined #ocaml
thizanne has quit [Ping timeout: 264 seconds]
maxibolt is now known as thizanne
jayprich has quit [Ping timeout: 255 seconds]
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 264 seconds]
travisbrady has quit [Quit: travisbrady]
zpe has joined #ocaml
jayprich has joined #ocaml
zpe has quit [Ping timeout: 255 seconds]
<jayprich> re. <bobry>why ?rng type is erased in this code sample: http://paste.in.ua/8394/
<jayprich> should you declare method generate signature as ?rng:Rng.t -> int -> 'a ?
jayprich has quit [Quit: jayprich]
ollehar has quit [Ping timeout: 264 seconds]
gnuvince has joined #ocaml
whitequark has quit [Read error: Operation timed out]
whitequark has joined #ocaml
<whitequark> am I mistaken, or ocaml exceptions actually do not capture backtraces?
<MarcWeber> export OCAMLRUNPARAM=b
<MarcWeber> Or use ocamldebug, then previous command to go back in history
* MarcWeber is almost feeling like a little expert .. (in the small debugging topic) :)
<MarcWeber> and you have to compile with -g
<whitequark> oh I see
<whitequark> so it's not a language feature but an environment feature
<whitequark> interesting
<MarcWeber> Its a language feature you have to enable, yes
pootler_ has joined #ocaml
pootler__ has joined #ocaml
<whitequark> hm
<whitequark> how can I get the backtrace programmatically, then?
<whitequark> from within ocaml
<whitequark> Exn.backtrace
<MarcWeber> whitequark: What are you trying to do ?
<MarcWeber> val get_backtrace : unit -> string
<whitequark> MarcWeber: poking around
<MarcWeber> You want to help me?
<MarcWeber> Trying to write a filter which adds tracing lines to almost all code.
<MarcWeber> I'm getting closer ..
<whitequark> MarcWeber: sorry, I'm working with ocaml for about two days
<MarcWeber> I can compile Camlp4Profiler.ml which adds profiling lines ...
<MarcWeber> Don't expect me to have much more experience (about ocaml).
oriba has joined #ocaml
<whitequark> hah
structuralist has quit []
<whitequark> disjoint type/variable namespaces make me sad
<whitequark> especially after ruby, where something starting with a lowercase letter is a variable and an uppercase one is most certainly a class :/
<MarcWeber> upper case can alos be constants
<whitequark> well, all upper case identifiers are constants
<whitequark> but CamelCase identifiers are by convention classes, and SCREAMING_CASE identifiers are just random constants
<whitequark> so it's pretty unambiguous