mfp changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.11.2 released | Inscription for OCaml Meeting 2010 is opened http://wiki.cocan.org/events/europe/ocamlmeetingparis2010
slash_ has quit [Quit: Lost terminal]
<thelema> orbitz: yes, looking forward to seeing that.
<orbitz> thelema: semester is up may 8th
* thelema wonders if ocaml could benefit fr GSoc
<thelema> *from
seafood has joined #ocaml
<thelema> I guess Jane Street's is pretty good
<elehack> thelema, yeah, the year I applied it was a better deal than Google too.
<orbitz> is jane st doing another/
<orbitz> i wish we had more jane st's around
<thelema> hmm, nothing about them since last may.
Amorphous has joined #ocaml
<orbitz> dam too bad
seafood has quit [Quit: seafood]
<elehack> I just pushed the OCamlBuild-enabled build to the ocamlbuild branch.
<elehack> It doesn't build man pages, but ocamlbuild doesn't do that automatically (it could be added, though)
<elehack> So far as I know, it does everything else (build lib & syntax extensions, install, build docs, install docs)
<elehack> and there's a Makefile to control it all, so GODI packaging should now be a snap.
<thelema> elehack: excellent. I'll give it a test
<elehack> oh, it doesn't have test support yet. That shouldn't be too hard to add, though.
<elehack> probably run the tests through the Makefile.
chenyu468 has joined #ocaml
seafood has joined #ocaml
seafood has quit [Ping timeout: 265 seconds]
pimmhogeling has quit [Ping timeout: 265 seconds]
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
boscop has quit [Ping timeout: 258 seconds]
boscop has joined #ocaml
jeddhaberstro has quit [Quit: jeddhaberstro]
jeddhaberstro has joined #ocaml
yakischloba has quit [Quit: Leaving.]
drunK has quit [Remote host closed the connection]
alpounet has quit [Ping timeout: 245 seconds]
<thelema> yay elehack
<thelema> now how do we push to godi, so it's in the global database?
<elehack> I don't know.
jeddhaberstro has quit [Quit: jeddhaberstro]
<thelema> fair enough. there might be someone here that knows, or can help.
<elehack> It might just be a matter of e-mailing the GODI mailing list.
<elehack> I'll post a message there to see how we go about getting it in.
<elehack> Do we want it as godi-aaa-batteries, or replacing the current godi-batteries package?
<thelema> replace the current.
<elehack> OK.
<elehack> then the thing to do may be to e-mail the maintainer of that package directly.
<thelema> that'd be yoric
<elehack> ok.
<elehack> The GODI community seems to operate around giving current maintainers first crack at updates, and only handing off when they choose to. So I think contacting him about it is the path to inclusion.
<thelema> ah.
drk-sd has quit [Quit: foo]
ccasin has quit [Quit: Leaving]
Amorphous has quit [Ping timeout: 265 seconds]
<elehack> Bummer... I just tried to take the Batteries version of my website engine live instead of the extlib code, and it blows up with a mutex failure.
<thelema> :(
<thelema> good debugging opportunity
<elehack> Sys_error("Mutex.lock: Resource deadlock avoided")
<elehack> yeah. a task for another day, I think.
<thelema> huh, where's that message coming from?
<elehack> not sure.
<elehack> It's in an Ocsigen-based app, so I don't have backtraces handy :(
<thelema> batMutex uses "[Mutex] foo" for its messages
<thelema> I guess it comes from Ocsigen
<elehack> A grep for the message in the Batteries sources failed.
<thelema> yup.
<elehack> I'm suspecting either OCaml's Mutex or FreeBSD pthreads as the source. which sounds rather difficult to debug.
<elehack> A grep in ocsigen's sources also fails.
<thelema> sys error... raised by the ocaml runtime, I guess
<thelema> otherlibs/unix/unix.mli: | EDEADLK (** Resource deadlock would occur *)
<elehack> It looks like it corresponds to EDEADLK... error text matches that entry in FreeBSD's errno.h
<thelema> in the ocaml source
<elehack> A test run of the server on my Ubuntu laptop succeeded.
<thelema> well, good luck with that one.
<elehack> I'll keep the issue updated as I try to figure it out.
Amorphous has joined #ocaml
derdon has quit [Ping timeout: 252 seconds]
<elehack> yay, the test suite throws the error!
<thelema> the testsuite for batteries?
<elehack> yes
<elehack> it's at line 55
<elehack> of batRMutex.ml
<thelema> hmm, interesting. for lock_either
<thelema> this shouldn't be able to deadlock
<thelema> well, good night.
<elehack> g'night. I probably won't get back to this until sometime next week, but hopefully we can fix it before I no longer have a FreeBSD machine in a month or so.
elehack has quit [Quit: Goodbye...]
maskd has quit [Quit: leaving]
yakischloba has joined #ocaml
dark has quit [Read error: Connection reset by peer]
<Associat0r> guys what convention do you use for when to annotate types?
<orbitz> what do you mean?
<Associat0r> like where do you use type annotations, even when it can be inferred
struktured has quit [Ping timeout: 240 seconds]
Shoggoth has joined #ocaml
<orbitz> generally only toplevel definitions
alpounet has joined #ocaml
ztfw` has joined #ocaml
seafood has joined #ocaml
ztfw has quit [Read error: Connection reset by peer]
alpounet has quit [Ping timeout: 265 seconds]
aavogt has joined #ocaml
ygrek has joined #ocaml
alpounet has joined #ocaml
seafood has quit [Quit: seafood]
alpounet has quit [Ping timeout: 265 seconds]
ftrvxmtrx has quit [Ping timeout: 264 seconds]
ftrvxmtrx has joined #ocaml
yakischloba has quit [Quit: Leaving.]
ttamttam has joined #ocaml
Yoric has joined #ocaml
seafood has joined #ocaml
ttamttam has quit [Quit: Leaving.]
ftrvxmtrx has quit [Quit: Leaving]
Yoric has quit [Quit: Yoric]
seafood has quit [Client Quit]
Yoric has joined #ocaml
caligula__ has quit [Read error: Connection reset by peer]
Yoric has quit [Client Quit]
caligula__ has joined #ocaml
alpounet has joined #ocaml
krankkatze has joined #ocaml
krankkat` has joined #ocaml
alpounet has quit [Read error: Connection reset by peer]
krankkatze has quit [Ping timeout: 240 seconds]
alpounet has joined #ocaml
ztfw` has left #ocaml []
ztfw has joined #ocaml
pimmhogeling has joined #ocaml
slash_ has joined #ocaml
lvillani has joined #ocaml
pimmhogeling has quit [Read error: Connection reset by peer]
<Camarade_Tux> btw, deltree doesn't exist in recent windows versions (can't remember exactly who was mentionning it)
_unK has joined #ocaml
ttamttam has joined #ocaml
chenyu468 has quit []
ikaros has joined #ocaml
maskd has joined #ocaml
sepp2k has joined #ocaml
Narrenschiff has joined #ocaml
slash_ has quit [Read error: Connection reset by peer]
slash_ has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Yoric has joined #ocaml
Drk-Sd has joined #ocaml
seafood has joined #ocaml
<mfp> "you can't load .cmo from it so you have to quit and relaunch with the .cmos as arguments"
ulfdoz has joined #ocaml
Drk-Sd has quit [Quit: {'EXIT', Drk-Sd, "bye"}]
drk-sd has joined #ocaml
<thelema> Associat0r: I use type declarations as sparingly as possible.
Anarchos has joined #ocaml
john4lists has joined #ocaml
sepp2k1 has joined #ocaml
sepp2k has quit [Ping timeout: 265 seconds]
john4lists has left #ocaml []
ikaros has quit [Quit: Leave the magic to Houdini]
ygrek has quit [Remote host closed the connection]
john4lists has joined #ocaml
ygrek has joined #ocaml
Narrenschiff has quit [Quit: Narrenschiff]
M| has quit [Ping timeout: 276 seconds]
<maskd> mfp: to be fair on him, this stuff could really be better documented
seafood has quit [Quit: seafood]
M| has joined #ocaml
<Camarade_Tux> hmmm, some students in France get completely traumatized by ocaml ;-)
alpounet has quit [Ping timeout: 246 seconds]
bluestorm has joined #ocaml
alpounet has joined #ocaml
lvillani has quit [Quit: Leaving]
lvillani has joined #ocaml
ygrek has quit [Quit: Leaving]
<Anarchos> Camarade_Tux like me , first classe to begin with in 1995 :)
_zack has joined #ocaml
_zack has quit [Client Quit]
ikaros has joined #ocaml
ikaros has quit [Client Quit]
struktured has joined #ocaml
ikaros has joined #ocaml
derdon has joined #ocaml
<flux> mfp, well, if the interface has changed, doesn't that hold true?
<mfp> true, but he wasn't referring to that
Yoric has quit [Ping timeout: 248 seconds]
krankkat` has left #ocaml []
<Anarchos> how to debug GC related segment fault ?
<flux> I've used adding calls to Gc.full_major () at suspicious places
<flux> (with tracing)
<Anarchos> flux my values are allocated by a multithreaded C++ api ...
ccasin has joined #ocaml
<flux> ..
<Anarchos> flux well if i add register_global_root to each value, it works perfectly as a multithreaded program !
<Anarchos> flux how to trace caml_oldify_one ? variables name are not really explicit in it
<thelema> sounds like you need to do that everywhere
<flux> anarchos, I was thinking like: let debug label = Printf.printf "Begin at %s\n%!" label; Gc.compact (); Printf.printf "Gc done\n%!" ... debug "before suspicious"; suspcious_code (); debug "after suspicious" etc
dark has joined #ocaml
krankkatze has joined #ocaml
<Anarchos> flux well i suspect that one thread calls the gc and then sweep values associated to another thread.
<Anarchos> flux that is why i declared all as global_root in a first time
<flux> anarchos, try to make sure that 1) ocaml code always runs in at most one thread 2) ocaml has a way to find the live data from the roots 3) cautious use of 'nomalloc' 4) cautious releasing of global lock
<Anarchos> flux 1) ocaml runs in multiple thread, but i added a global semaphore in enter/release_blocking_section 2) don't know how to achieve 3) no noalloc 4) see 2
yakischloba has joined #ocaml
<Anarchos> flux for 2) i thought that declaring all my values as global was enough
<Anarchos> flux i thought to add a thread_id in the values , to let gc only sweep values from the thread it was called from
smimou has joined #ocaml
<bluestorm> you're trying to be too clever
<Anarchos> bluestorm why ?
brooksbp has joined #ocaml
bluestorm has quit [Ping timeout: 260 seconds]
<aavogt> is there a "compare" function that's more friendly to the pattern completeness checker, or is this something I have to write?
<thelema> aavogt: what do you mean by this?
<thelema> Pervasives.compare is very nice.
<aavogt> I mean this gives warnings when it doesn't have to: match compare x y with; -1 | 0 | 1 -> ...
fschwidom has joined #ocaml
* aavogt looks into this pervasives module
<Camarade_Tux> Pervasives is the module that is opened by default (like if there was 'open Pervasives' at the top of each file)
<thelema> match compare x y with -1 | 0 | _ -> ...
<aavogt> hmm, I'm not sure that generalizes to when you "match (compare a b,compare c d)"
<flux> doesn't it?
<thelema> aavogt: just replace any of -1, 0, or 1 with _ (but only one, and only the last)
<thelema> match compare a b, compare c d with -1,-1 | -1,0 | -1,_ | 0,-1 | 0,0 | 0,_ | _,-1 | _,0 | _,_ ->
<flux> btw, the documentation for compare doesn't say -1, 0, and 1
<flux> it says negative, 0 or positive
<thelema> yes, a design flaw.
<flux> if you want to take advantage of the coverage checking, you can just have type lt_eq_gt = Lt | Eq | Gt let lt_gt_eq = function x when x < 0 -> Lt | 0 -> Eq | _ -> Gt and use that
<flux> it will most likely be slightly slower though. and more tedious I guess.
* thelema agrees
<flux> on the other hand the specification allows for implementation b - a when overflow is not an issue
<flux> which seems nice practically-oriented approach :)
<thelema> <cough>dirty hack</cough>
thrasibule has quit [Ping timeout: 276 seconds]
ftrvxmtrx has joined #ocaml
jeddhaberstro has joined #ocaml
thrasibule has joined #ocaml
yakischloba has quit [Quit: Leaving.]
ulfdoz has quit [Ping timeout: 245 seconds]
smimou has quit [Ping timeout: 276 seconds]
struktured has quit [Read error: Operation timed out]
struktured has joined #ocaml
lokydor has joined #ocaml
lokydor has quit [Remote host closed the connection]
Yoric has joined #ocaml
smimou has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
yakischloba has joined #ocaml
ulfdoz has joined #ocaml
smimou has quit [Ping timeout: 246 seconds]
M| has quit [Quit: leaving]
drunK has joined #ocaml
_unK has quit [Ping timeout: 276 seconds]
drunK is now known as _unK
inkbottle has joined #ocaml
inkbottle has left #ocaml []
M| has joined #ocaml
lokydor has joined #ocaml
enthymeme has joined #ocaml
ttamttam has quit [Quit: Leaving.]
lokydor has quit [Ping timeout: 240 seconds]
Yoric has quit [Quit: Yoric]
Camarade_Tux has quit [Ping timeout: 264 seconds]
Asmadeus has quit [Ping timeout: 276 seconds]
struktured has quit [Ping timeout: 248 seconds]
Camarade_Tux has joined #ocaml
mutewit has joined #ocaml
Camarade1Tux has joined #ocaml
Asmadeus has joined #ocaml
sepp2k1 has quit [Quit: Leaving.]
lvillani has quit [Quit: Leaving]
sepp2k has joined #ocaml
sepp2k has quit [Quit: Leaving.]
boscop has quit []
seafood has joined #ocaml
derdon has quit [Ping timeout: 276 seconds]
javax_ has quit [Read error: Connection reset by peer]
javax has joined #ocaml
Camarade_Tux has quit [Quit: leaving]
_unK has quit [Remote host closed the connection]
Camarade1Tux is now known as Camarade_Tux
seafood has quit [Ping timeout: 245 seconds]
ztfw has quit [Read error: Operation timed out]
slash_ has quit [Quit: Lost terminal]
ztfw has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
komar_ has quit [Quit: WeeChat 0.2.6]
krankkatze has quit [Remote host closed the connection]
jeddhaberstro has quit [Read error: Connection reset by peer]
jeddhaberstro has joined #ocaml
halfie has joined #ocaml
<halfie> Hi, I am getting an exception while doing let x = int_of_string "1073741829";;
<halfie> does unsignedinot_of_string operation operation exist ?
<mfp> haelix: are you using a 32-bit OCaml? 1073741829 doesn't fit in 31-bit integers...
drk-sd has quit [Quit: cya]