flux changed the topic of #ocaml to: Yes, inria.fr is down | Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.0beta1 available from http://caml.inria.fr/pub/distrib/ocaml-3.11/ | Or grab OCaml 3.10.2 from http://caml.inria.fr/ocaml/release.html
<Guest7517> kig: can I really do 'match e:expr with None -> one thing | Some (bar expr) -> Foo((bar e), l) ...?
<Guest7517> or did you mean something slightly different?
<kig> Some expr -> Foo(Some (bar expr), l)
<kig> is what i meant
<kig> well, it's just a guess
<Guest7517> kig: unfortunately, that doesn't seem to be working...
<Guest7517> kig: actually, wait, as i play more i'm getting somewhere... a new and exciting compiler error!
<Raevel> oh boy oh boy
<Guest7517> kig: actually, that worked!
<Guest7517> thanks very much. I was incorrectly typing the version you gave me.
<kig> :)
<kig> yw
authentic has joined #ocaml
<kig> type 'a foo = 'a option * int;; let mapFoo f (e,l) = match e with None -> (e,l) | Some x -> (Some (f x), l);; mapFoo ((+) 2) (Some 3, 5);; (* etc *)
authentic has left #ocaml []
authentic has joined #ocaml
authentic has left #ocaml []
authentic has joined #ocaml
seafood has quit [Read error: 101 (Network is unreachable)]
pango has quit [Remote closed the connection]
pango has joined #ocaml
ulfdoz has quit ["deprecated"]
hsuh has joined #ocaml
hsuh has quit [Remote closed the connection]
johnnowak has quit []
pango has quit [Remote closed the connection]
mjonsson has joined #ocaml
pango has joined #ocaml
ched_ has joined #ocaml
<mjonsson> Camarade_Tux: Thanks
seafood has joined #ocaml
ched has quit [Read error: 110 (Connection timed out)]
seafood has quit [Read error: 110 (Connection timed out)]
longh has quit [Read error: 104 (Connection reset by peer)]
ozy` has quit ["Shop for a whopper"]
bzzbzz has quit ["leaving"]
Guest7517 has quit [Read error: 110 (Connection timed out)]
johnnowak has joined #ocaml
<johnnowak> hello all. does anyone know to what degree rectypes are supported in ocaml? are they still something of an experiment?
Mr_Awesome has quit [Read error: 110 (Connection timed out)]
vixey has quit ["Leaving"]
sporkmonger has quit []
Mr_Awesome has joined #ocaml
jeddhaberstro has quit []
seafood has joined #ocaml
seafood has quit [Read error: 110 (Connection timed out)]
Associat0r has quit []
Mr_Awesome has quit [Read error: 110 (Connection timed out)]
Mr_Awesome has joined #ocaml
seafood has joined #ocaml
seafood_ has joined #ocaml
seafood has quit [Read error: 101 (Network is unreachable)]
mishok13 has joined #ocaml
seafood has joined #ocaml
johnnowak has quit []
seafood has quit [Read error: 60 (Operation timed out)]
ulfdoz has joined #ocaml
seafood_ has quit [Read error: 110 (Connection timed out)]
yangsx has joined #ocaml
<yangsx> what could be the possible causes of segmentation fault of my OCaml program that uses just unix, str and gdome2 packages? Any wild guess?
<yangsx> or pointers to trace the problem?
<tsuyoshi> did you try getting a backtrace?
<flux> yangsx, both native and byte code?
<flux> of course, if I had to pick one of those modules to be the problem, I'd choose gdom2, whatever it is :)
<flux> ..bindings to a C-library..
<flux> if it's crashing in GC, I'd point my finger even more firmly towards it
<yangsx> flux: yes, I also suspect gdome2, but how to trace the cause of the issue is beyond me
<yangsx> probably I should avoid using it
<flux> yangsx, well, I you can use gdb on a compiled binary and get a backtrace
<flux> s/I //
<flux> or just use gdb on the binary plus the produced core dump (ulimit -c unlimited first)
<yangsx> that'll be painful to go through, I guess. Is there more detailed guide using gdb for ocaml?
<flux> I don't think so
<flux> but it's just: gdb ./proggy.opt run args witness segmentation fault bt
<yangsx> flux: thanks, trying
filp has joined #ocaml
<det> catchsegv <program> <args ...>
<det> is an even easier way
<flux> nice, I didn't know that
<yangsx> det: really nice
<det> catchsegv doesn't use gdb though
<tsuyoshi> well the problem most likely isn't in the ocaml part of the program but in the c part
<flux> unfortunately most problems with interfacing C comes from dealing with GC, and if you get a segmentation fault from the GC, it's quite difficult to track down the problem
<tsuyoshi> so what I was thinking when I said "getting a backtrace" was, compile the gdome2 stubs with debugging enabled, and then run that in gdb until you get a segfault
<tsuyoshi> flux: yeah that is true
<flux> well, getting any kind of backtrace is a start
<flux> if it doesn't give anything useful, then recompiling is a good next step
<flux> perhaps someone(TM) should write an instrumenting GC patch for ocaml, which would help tracking down these issues..
<flux> jane street ocaml summer project?-)
<tsuyoshi> instrumenting gc?
<flux> something that would collect enough information that it could, instad of segfaulting, tell "internal inconsistency, attempted to refer to ptr x allocted by fun y"
<flux> caml.inria.fr is back online \o/
<flux> I guess it takes a while for the mailing list posts to start trickling
<det> What about when the GC moves something due to a collection while in a C function that doesn't register a value as a root
<det> I would expect that to be the common case of segfault from GC
<flux> det, you can actually try if that is the problem by disabling GC compaction
<flux> of course, that is not a proof, but it may be indicative of such a bug
<det> compaction is only for the old generation though, right ?
<det> young generation uses copy collection, I thought
<flux> actually, how is heap compaction disabled? I don't see anything to that effect in Gc.mli..
<flux> I must admit I'm not well versed with gc's
<det> " ... You can disable it by using Gc.set with the "max_overhead"
<det> field set to a suitably high value, as documented in the Gc module.
<det> "
<det> but doing that can't prevent all moving of objects, just compaction of long-lived objects
mishok13 has quit [Connection timed out]
mishok13 has joined #ocaml
vbmithr has joined #ocaml
ygrek_ has joined #ocaml
Vital303` has quit [Read error: 104 (Connection reset by peer)]
rwmjones_ has joined #ocaml
GustNG has joined #ocaml
GustNG1 has joined #ocaml
yangsx has quit [Read error: 110 (Connection timed out)]
GustNG has quit [Read error: 110 (Connection timed out)]
GustNG has joined #ocaml
ozy` has joined #ocaml
GustNG1 has quit [Read error: 104 (Connection reset by peer)]
LeCamarade has joined #ocaml
Yoric[DT] has joined #ocaml
<Yoric[DT]> hi
GustNG1 has joined #ocaml
LeCamarade has quit [Read error: 60 (Operation timed out)]
<Yoric[DT]> Still no inria.fr?
<Yoric[DT]> That's worrying.
<flux> no?
<flux> caml.inria.fr works for me, and email from the list is coming in
<flux> nah, never mind, it's down again :-)
<Yoric[DT]> Well brion.inria.fr still doesn't work for me.
<Yoric[DT]> :/
<flux> what's there?
<Yoric[DT]> The Camlp4 wiki.
GustNG has quit [Read error: 110 (Connection timed out)]
mfp has quit [Read error: 104 (Connection reset by peer)]
authentic has quit [Read error: 113 (No route to host)]
gim has quit []
<Yoric[DT]> Yeah, inria.fr works again (for now).
mfp has joined #ocaml
OChameau has joined #ocaml
_zack has joined #ocaml
<Yoric[DT]> thelema: ping
sporkmonger has joined #ocaml
<thelema> Yoric[DT]: pong
<Yoric[DT]> How do you do?
<thelema> I'm just waking up.
<Yoric[DT]> Ok, I'm not going to cloud your mind with too much OCaml, then :)
<Yoric[DT]> I've committed a few bug fixes on my recent additions to Rope, UTF8, etc.
<thelema> go ahead, it can't hurt
<Yoric[DT]> Well, mostly, I wanted to ask if you're willing to bring UTF8 and Rope to feature-parity with String and if so when you think you can have it done.
_zack has quit ["Leaving."]
<thelema> is that request to bring both, or is rope the favored interface, and people will have to deal with less functions on UTF8.t
<thelema> I think you committed the wrong fix to is_uppercase
<Yoric[DT]> Gasp.
<Yoric[DT]> You're correct.
<Yoric[DT]> I'd say that Rope is the favored interface.
<Yoric[DT]> However, my guess is that you'll need to implement these functions in UTF8 anyway to get them to work in Rope.
ygrek_ has quit [Remote closed the connection]
<thelema> also, I don't know the use of Rope.of_bulk_backwards / Rope.bulk_backwards
<thelema> the bulk part isn't reversed
<Yoric[DT]> I grant you it may not be useful at all.
<Yoric[DT]> We should perhaps just remove it for the moment.
<thelema> it reminds me of little-endian words -- partly backwards, partly forwards
<Yoric[DT]> I just wrote it because I was on a [enum]/[backwards] writing spree.
<thelema> I guessed.
ygrek_ has joined #ocaml
<thelema> oh yeah, problem with batteries under 3.11 -- type-conv doesn't compile under the current beta
<Yoric[DT]> :/
<thelema> (which means I'm a bit stuck on batteries development and need to find the CVS revision of my previous build (which worked)
<thelema> or wait until this bug gets fixed)
<Yoric[DT]> Well, I hope Jane Street fixes this.
<Yoric[DT]> Other than that, I've been giving some thought to Community OCaml.
<Yoric[DT]> If I'm right, Symbiosis may be quite useful there.
<Yoric[DT]> i.e. bundle symbiosis in addition to ocamlbuild
<thelema> symbiosis auto-fetches dependencies?
<Yoric[DT]> this should be able to build and install (and download, if necessary) any dependency
<Yoric[DT]> It seems to.
<Yoric[DT]> I haven't tried it, though.
* thelema thinks symbiosis would be more appropriate for batteries - I plan on no external dependencies for community-ocaml, just having all the code 'in the box'
<Yoric[DT]> The point being that (I think) can build and install .tgz .
<Yoric[DT]> The point being that (I think) Symbiosis can build and install .tgz .
<Yoric[DT]> (or directories, Makefiles, whatever)
<Yoric[DT]> Which means that you can add the source code for all your dependencies to your .tgz.
<Yoric[DT]> And write a Makefile which first calls the usual OCaml Makefile, then politely asks Symbiosis to build Batteries and all other dependencies.
<Yoric[DT]> Now, don't take my word on this, but that's my hunch.
<thelema> We'll see. I've gotten involved in ocaml's build process enough to know that it's more complex than I'd like.
<Yoric[DT]> ok
<thelema> I do like the idea of symbiosis, and will play with it.
* thelema has ocaml emails -- looks like inria's back up
<Yoric[DT]> yep
middayc has joined #ocaml
authentic has joined #ocaml
pierre- has joined #ocaml
* thelema will be late -- bye
<Yoric[DT]> bye
Associat0r has joined #ocaml
Amorphous has quit [Read error: 110 (Connection timed out)]
Amorphous has joined #ocaml
rwmjones_ has quit [Read error: 104 (Connection reset by peer)]
mjonsson has quit [Read error: 110 (Connection timed out)]
middayc has quit []
Linktim has joined #ocaml
pango has quit [Remote closed the connection]
pango has joined #ocaml
Linktim_ has joined #ocaml
Linktim has quit [Read error: 110 (Connection timed out)]
_JusSx_ has joined #ocaml
Linktim has joined #ocaml
mishok13 has quit [Read error: 110 (Connection timed out)]
filp has quit ["Bye"]
Linktim_ has quit [Read error: 110 (Connection timed out)]
Linktim_ has joined #ocaml
Camarade_Tux has joined #ocaml
Linktim has quit [Read error: 110 (Connection timed out)]
<Camarade_Tux> I can't believe it : both caml.inria.fr and ocaml-programming.de work :)
<Yoric[DT]> Again ?
<Yoric[DT]> brion.inria.fr is up
<Yoric[DT]> Oh, sorry, I misread your message :)
<Camarade_Tux> haha, considering your reaction, I had that impression ;)
Linktim has joined #ocaml
itewsh has joined #ocaml
Linktim_ has quit [Read error: 60 (Operation timed out)]
ygrek_ has quit [Remote closed the connection]
Linktim has quit [Read error: 104 (Connection reset by peer)]
ygrek_ has joined #ocaml
Linktim has joined #ocaml
Linktim has quit [Connection reset by peer]
<Camarade_Tux> anybody know how to find which package selected another one as a dependency ?
<Camarade_Tux> I'm having troubles with conf-tcltk
middayc has joined #ocaml
vixey has joined #ocaml
Linktim has joined #ocaml
<Yoric[DT]> Camarade_Tux: besides reading META files?
<Yoric[DT]> You may try with ocamlfind query
Linktim_ has joined #ocaml
<Camarade_Tux> Yoric[DT], the fast way :D
<Camarade_Tux> thanks, trying (I checked a few and couldn't find why it was [still] selected)
middayc has left #ocaml []
filp has joined #ocaml
Submarine has joined #ocaml
longh has joined #ocaml
Iskr has joined #ocaml
jlouis has joined #ocaml
Linktim has quit [Read error: 110 (Connection timed out)]
Iskr has left #ocaml []
Linktim_ has quit [Read error: 110 (Connection timed out)]
<flux> soo, was there a nice substring module around?
<flux> I feel like I could do some optimizing to that mailbox reader..
OChameau has quit ["Leaving"]
flux changed the topic of #ocaml to: Yes, inria.fr is back up! | Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.0beta1 available from http://caml.inria.fr/pub/distrib/ocaml-3.11/ | Or grab OCaml 3.10.2 from http://caml.inria.fr/ocaml/release.html
Snark has joined #ocaml
<flux> well, here's one: modeemi.fi/~flux/software/darcs/fur3/substring.ml and .mli
ozy` has quit []
* Yoric[DT] 's team is crazy.
<Yoric[DT]> flux: well, otherwise, ask thelema :)
<flux> and turns out I actually want to concatenate substrings.. hmph.
* Camarade_Tux is starting to think you can't have godi successfully download at once all the package you need, there'll always be at least two hosts not responding
<flux> camarade_tux, I've done it \o/
<flux> but that's definitely a downside
<mbishop> needs more mirrors?
<flux> or any mirrors?
<Camarade_Tux> well, it has a mirror, but only one afaik
<flux> so the godi packages are distributed?
<Camarade_Tux> and of course, when camlcity.org (aka ocaml-programming.de) is down...
<Camarade_Tux> flux, it's rather a fallback
<Camarade_Tux> Error: Cannot get http://home.wanadoo.nl/maas/ocaml/ounit-1.0.1.tar.gz: Command not successful: /usr/bin/wget
<Camarade_Tux> => Attempting to fetch ounit-1.0.1.tar.gz from http://godi-backup2.camlcity.org/godi-backup/.
<hcarty> Camarade_Tux: There are others, but I'm not sure how the selection logic works
<Camarade_Tux> hcarty, afaik it's only fallback
<mbishop> what do you think a godi mirror would require space/bandwidth wise?
<hcarty> mbishop: I provide a mirror. It's a few hundred megabytes of space
<hcarty> And probably a similar amount of bandwidth
<hcarty> I haven't checked the specific numbers in a while
<Camarade_Tux> I must be the most bandwith-consuming person around
rwmjones_ has joined #ocaml
<Camarade_Tux> my script definitely needs to locally cache the files, I don't know how to do that though
* mbishop wonders if rwmjones_ could get a redhat mirror going :P
<Camarade_Tux> and godi has been waiting for lablgtk for about 15 minutes now, I can download it by hand but godi is desperately waiting, anyway, killing it, again...
<rwmjones_> mbishop, gildor is setting up a mirror of much ocaml software at the moment
<Camarade_Tux> it's a only on a "dedibox" though, it can do quite a lot but is still quite small
<Camarade_Tux> anyway, that will be wonderful, it seems an incredible number of people got ***** after this week-end outage
bla has quit [Read error: 110 (Connection timed out)]
<Camarade_Tux> btw, has anyone done an ocaml mode for zsh ?
pierre- has quit [Read error: 110 (Connection timed out)]
<flux> what would it do?
<flux> command line expansion?
<Camarade_Tux> flux, yeah, mostly
<Camarade_Tux> completion of cm(x)a files for instance, half the time you get the names wrong (for new libraries)
<flux> half the times doing what?
<flux> I just use ocamlfind..
<flux> and makefiles ;)
<Camarade_Tux> but ocamlfind requires you to learn and I intend to make people who do not necessarily know ocamlfind use what I'm preparing ;)
<Camarade_Tux> (plus everything is not ocamlfind-compatible unfortunately)
<Camarade_Tux> and sometimes, you don't know *exactly* how to spell a library name, zsh can correct the names :)
<hcarty> Camarade_Tux: It may be easier to write the META file to make a library ocamlfind compatible than to add zsh expansion...
<hcarty> Camarade_Tux: Or ocamlfind + zsh, since "ocamlfind -list" gives you a list of package names usable in completion
<Camarade_Tux> hcarty, lol, that's terribly true, I hadn't though of it :p
<flux> yeah, I just write META files to libraries
<flux> 90% of time it's trivial
<Camarade_Tux> hcarty, yes, second option I had in mind ;)
<flux> it's just soo much nicer to use ocamlfind ;)
<hcarty> GODI, Fedora and Debian include META files for all of the libraries they have packaged, as I understand
<flux> as it handles dependencies too
* Camarade_Tux wonders if there's a zsh mode for pkg-config...
<Camarade_Tux> hcarty, as far as I've seen, it's the case, however, I'm not using distribution packages
<flux> thelema, so how fast is Rope.find?
<hcarty> Camarade_Tux: I've pulled them from source packages before. But as flux said, META files are generally very simple to write once you have done it a few times
<flux> I wonder if it'd be easier to replace my strings with ropes and actually get a performance boost due to reduced gc load
<flux> but I suppose I would need to copy input buffers to ropes which will add to the allocation rate
* Yoric[DT] isn't aware of performance measurements in Rope yet.
<flux> I can't efficiently to read directly into a new rope from an in_channel, can I?
<Camarade_Tux> hcarty, I don't know yet how I'll deal with those packages, I'm making a livecd and nearing completion, my biggest problem is with some godi packages being unreachable at times though
<Camarade_Tux> anyway, gotta go, Unreal Tournament is waiting for me :)
Camarade_Tux has quit ["Leaving"]
bla has joined #ocaml
itewsh has quit [Read error: 113 (No route to host)]
tomh has joined #ocaml
Snark has quit ["Ex-Chat"]
jeddhaberstro has joined #ocaml
rwmjones_ has quit ["Closed connection"]
itewsh has joined #ocaml
itewsh has quit ["KTHXBYE"]
itewsh has joined #ocaml
itewsh has quit [Client Quit]
itewsh has joined #ocaml
hkBst has joined #ocaml
GustNG1 has quit ["Leaving."]
ygrek_ has quit [Remote closed the connection]
<flux> ocamldoc sure is slow
<flux> just upgrading my godi installation and ocamlnet's ocamldoc has been running for three minutes now
<flux> there must be some algorithmic flaw..
Submarine has quit [Remote closed the connection]
* Yoric[DT] is happy not to be the only one who feels so.
itewsh has quit [Remote closed the connection]
itewsh has joined #ocaml
itewsh has quit [Remote closed the connection]
itewsh has joined #ocaml
filp has quit ["Bye"]
<Yoric[DT]> flux: for the moment, you can read from an [input] and you can easily transform a [in_channel] into an [input].
<Yoric[DT]> (I'm trying to do the converse, which is somewhat harder)
sporkmonger_ has joined #ocaml
sporkmonger_ has quit [Client Quit]
Yoric[DT] has quit [Remote closed the connection]
itewsh has quit [Remote closed the connection]
sporkmonger has quit [Read error: 110 (Connection timed out)]
Camarade_Tux has joined #ocaml
<Camarade_Tux> for the record, I just downloaded a quite important set of godi packages (from ocaml-3.10 to ocsigen) and the cumulative was less than 20MB, so really not much
<Camarade_Tux> can anyone check that the godi-sqlite3 package correctly configures (not necessarily builds) ? thanks
<Camarade_Tux> the check for libsqlite needs to be linked with -ldl too
jlouis has quit ["Leaving"]
hkBst has quit [Connection reset by peer]
gildor_ has joined #ocaml
gildor has quit [Read error: 104 (Connection reset by peer)]
_JusSx_ has quit ["leaving"]
seafood has joined #ocaml
ulfdoz has quit ["deprecated"]
seafood has quit []
seafood has joined #ocaml
bohanlon has quit ["Have to update my .emacs"]
_zack has joined #ocaml
tomh has quit ["http://www.mibbit.com ajax IRC Client"]
_zack has quit ["Leaving."]
ched_ has quit [Read error: 101 (Network is unreachable)]
<thelema> flux: rope.find doesn't exist at the moment. To be implemented
<thelema> I'm currently working on substring - a library for efficient substring manipulation.
longh has quit [Read error: 54 (Connection reset by peer)]
mfp_ has joined #ocaml
mfp has quit [Read error: 104 (Connection reset by peer)]
mfp_ is now known as mfp
seafood has quit []
Camarade_Tux has quit ["Leaving"]
bohanlon has joined #ocaml
ched_ has joined #ocaml
ched__ has joined #ocaml
electronx has joined #ocaml
Luminari has joined #ocaml
Luminari has left #ocaml []
mfp has quit [Read error: 104 (Connection reset by peer)]
ched_ has quit [Read error: 110 (Connection timed out)]
yangsx has joined #ocaml