Alpounet changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.1 out now! Get yours from http://caml.inria.fr/ocaml/release.html
onigiri_ has joined #ocaml
bogen has joined #ocaml
ikaros has quit ["Leave the magic to Houdini"]
efarrar has quit [Read error: 60 (Operation timed out)]
onigiri__ has joined #ocaml
tonyIII has quit [Read error: 104 (Connection reset by peer)]
onigiri_ has quit [Read error: 110 (Connection timed out)]
zhijie has quit [Read error: 104 (Connection reset by peer)]
onigiri_ has joined #ocaml
onigiri__ has quit [Read error: 60 (Operation timed out)]
unautre has quit [Connection timed out]
ulfdoz has quit [Read error: 110 (Connection timed out)]
cloudhead has quit [Client Quit]
maskd has quit ["du"]
pad has quit [Remote closed the connection]
* thelema is disappointed he can't use a function for the general schwartzian transform
<thelema> but I guess a slightly stronger type system is needed.
struktured has quit [Read error: 104 (Connection reset by peer)]
tmaeda0 has joined #ocaml
Pimm has quit [Read error: 110 (Connection timed out)]
tmaeda has quit [Read error: 110 (Connection timed out)]
Alp has joined #ocaml
Alp_ has joined #ocaml
Alp_ has quit [Read error: 104 (Connection reset by peer)]
paritosh1010 has quit [Read error: 60 (Operation timed out)]
paritosh1010 has joined #ocaml
tmaeda has joined #ocaml
tmaeda has quit [Read error: 104 (Connection reset by peer)]
tmaeda has joined #ocaml
tmaeda0 has quit [Read error: 110 (Connection timed out)]
valross has quit ["Ex-Chat"]
caligula_ has quit ["Konversation terminated!"]
Alp_ has joined #ocaml
Alp_ has quit [Read error: 104 (Connection reset by peer)]
efarrar has joined #ocaml
Associat0r has quit []
Associat0r has joined #ocaml
demitar has quit [Read error: 110 (Connection timed out)]
caligula has joined #ocaml
Associat0r has quit [Connection timed out]
demitar has joined #ocaml
arquebus has joined #ocaml
arquebus has quit [Remote closed the connection]
jeddhaberstro has quit [Client Quit]
yakischloba has quit ["Leaving."]
fx___ has joined #ocaml
paritosh1010 has quit [Read error: 60 (Operation timed out)]
_zack has joined #ocaml
onigiri__ has joined #ocaml
marteo has joined #ocaml
onigiri_ has quit [Read error: 110 (Connection timed out)]
tmaeda is now known as tmaedaZ
Yoric has joined #ocaml
<rwmjones> gildor, quick check ... https://bugzilla.redhat.com/show_bug.cgi?id=508197#c12 - ocaml-gettext is supposed to catch that sort of error right?
_unK has quit [Remote closed the connection]
ksson has joined #ocaml
tmaedaZ has quit ["Quit Nadoka 0.7.1-trunk (rev: 187) - http://www.atdot.net/nadoka/"]
tmaedaZ has joined #ocaml
maskd has joined #ocaml
tmaedaZ has quit [Read error: 60 (Operation timed out)]
fx___ has quit [Read error: 60 (Operation timed out)]
tmaedaZ has joined #ocaml
fx___ has joined #ocaml
bluestorm has joined #ocaml
cloudhead has joined #ocaml
_andre has joined #ocaml
Yoric has quit []
<det__> Does anyone know how Ocaml implements exceptions ?
CalJohn has quit ["leaving"]
<det__> oh, it uses longjmp
<bluestorm> no I don't think so
<bluestorm> well
<bluestorm> maybe in bytecode
<olegfink> http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/trunk/asmrun/i386.S?view=markup -- yikes (look for caml_raise_exn), what does this do?
<olegfink> this refers to the assembly implementation I linked
<bluestorm> well
<bluestorm> seems try/catch are compiled to trap handlers pushed on the stack
<bluestorm> (I assume det__ question was rather about try/catch control flow implementation than printing of uncatched exceptions
<bluestorm> )
<olegfink> hm, I think caml_raise is called not only when there is noone at home
<olegfink> in particular from byterun's fail.c it's clear that the context of the handler is stored in caml_external_raise, right?
onigiri__ is now known as onigiri_
<det__> Im not sure what a trap handler is
<bluestorm> det__: I don't pretend I _know_ how try/with is implemented in native code, but here is what I suppose from the look of MIPS code emitter
<bluestorm> a trap handler is basically a strack frame pushed on the stack, wich contains the adress of the code to be executed when you catch a raise
<bluestorm> it's on the stack so it's lexically scoped, and you have a register wich keeps the value of the last trap handler pushed, so that you can get it's data quickly
<bluestorm> (that's in MIPS wich has a lot of register; x86 probably manage the trap handler adress differently, but I don't read x86 assembly)
<bluestorm> (of course, when you push a track handler on the stack, you write within the adress of the former trap handler; when you catch an expression and jump to a trap handler, you pop it and restore the former handler : lexical scoping again)
_Jedai_ has joined #ocaml
|Jedai| has quit [Read error: 60 (Operation timed out)]
<mfp> bluestorm: re: your batteries posting
<mfp> I've given some thought to this, and reached the same conclusion "using AAA batteries as a (kernel / core / inner layer) for Batteries would be the best decision"
<mfp> we have 2 conflicting goals: make batteries easy to use (which implies easy to install => few deps), and make it comprehensive (=> functionality provided by 3rd party libs => harder to install in general (non-Debian, Fedora, etc.))
<mfp> they are best served by having AAA as an easily reusable kernel, plus batteries, built on top of it
<mfp> it also addresses the circular dependency problem: how to wrap a library that uses batteries in the Batteries namespace
Yoric has joined #ocaml
ua has quit [Read error: 60 (Operation timed out)]
Yoric_ has joined #ocaml
Yoric has quit [Read error: 104 (Connection reset by peer)]
Yoric_ is now known as Yoric
bluestorm has quit ["Leaving"]
ygrek has joined #ocaml
ikaros has joined #ocaml
Pimm has joined #ocaml
gareth_0 has joined #ocaml
<gareth_0> hi, is there a built-in list index of function>?
<Camarade_Tux> gareth_0: for which module?
<gareth_0> for built in lists :p
<olegfink> you mean List?
<gareth_0> yes
<gareth_0> i have looked at the docs - i cant find one - so i ask...
<Camarade_Tux> you can also use "man List"
<olegfink> or look at list.mli
tmaedaZ is now known as tmaeda
onigiri_ has quit []
Yoric has quit []
Yoric has joined #ocaml
ikaros has quit ["Leave the magic to Houdini"]
<thelema> hi
<orbitz> hey thelema
<thelema> mfp: I don't know the best way to do things either - I'm pushing for one possible solution, and can/should be persuaded to other directions
<Yoric> hi
<thelema> hi yoric
<thelema> btw, good job with OPA - I really like the language you guys have come up with
<thelema> If I had a web project, I'd be trying it out. But it looks like I'll have my hands full with batteries.
<thelema> actually, I might just have a web project in the near future - how easy is it to interface an OPA project with existing ocaml code?
<Yoric> For the moment, it's officially impossible.
<Yoric> (although we're doing it daily)
<Yoric> I'll let you know when there's a public API :)
<thelema> :) fair enough.
<thelema> Increment the vote counter for that feature, please.
BigJ has quit [Read error: 60 (Operation timed out)]
BiDOrD has quit [Remote closed the connection]
BigJ has joined #ocaml
<thelema> Yoric: do you have any objection to AAA-batteries becoming the next batteries release?
<Yoric> Be my guest.
<Yoric> I'll try and answer bluestorm's e-mail later today.
<thelema> Thank you.
bogen has quit ["Leaving."]
joewilliams has quit ["Leaving..."]
joewilliams has joined #ocaml
tmaeda is now known as tmaedaZ
tmaedaZ is now known as tmaeda
gareth_000 has joined #ocaml
gareth_0 has quit [Remote closed the connection]
Pimm has quit [Read error: 110 (Connection timed out)]
_unK has joined #ocaml
BiDOrD has joined #ocaml
mangloid has quit ["Leaving"]
<ksson> does anybody now a workaround for bug #4713?
<ksson> "camlp4o messes with comments"
<ksson> s/now/know
ikaros has joined #ocaml
<thelema> Don't run your code through camlp4o?
<ksson> sure ... hence the problem
<fx___> thelema, reminds: best cure for the headache - an axe
<ksson> i'm using camlp4o on an mli, which is also used for documentation
BiDOrD has quit [Read error: 110 (Connection timed out)]
BiDOrD has joined #ocaml
Associat0r has joined #ocaml
yakischloba has joined #ocaml
<Camarade_Tux> hmmm, anyone know how to change the license of a project on the ocaml forge?
<thelema> ksson: one bad workaround is to preprocess manually
<thelema> Camarade_Tux: that's a good question for gildor
<Camarade_Tux> actually that's ok, my co-admin just found it :P
<fx___> thelema, how would preprocessing manually solve the problem?
<ksson> thelema: that's what i fear
<ksson> actually, when i think of it, there can be no workaround ... i will have to use another preprocessor
<ksson> for what i'm doing, cpp or autoconf will be enough
<ksson> still it's a pain :)
_zack has quit ["Leaving."]
_zack has joined #ocaml
_p4bl0 has joined #ocaml
<_p4bl0> Hi everyone! I have something that may be a bug in ocaml. If it's not could you explain me why :
<_p4bl0> let v = "";; if v != "" then "not empty" else "empty";; if v = "" then "empty" else "not empty";;
<_p4bl0> the first if then else yields "not empty", and the second yieds "empty"
<_p4bl0> so `v != ""` and `v = ""` are true at the same time
<_p4bl0> wtf?!
<ksson> _p4bl0: != and "" are not the negation of each other
<ksson> <> and = are
<ksson> and: != and ==
<ksson> = and <> are for structural comparison (comparing the string, in this example)
<ksson> == and != are for physiqual equality (equality of the pointers)
<_p4bl0> okaaaay
<_p4bl0> didn't knew that
<_p4bl0> thanks
patronus has quit [Read error: 60 (Operation timed out)]
<ksson> try:
<ksson> "hello" = "hello"
<ksson> and
patronus has joined #ocaml
<ksson> "hello" == "hello"
<ksson> first one is true, because the strings are equal (contain the same chars)
<ksson> second one is false, because ocaml allocates the string twice, so they are two different strings
<ksson> (having the same contents)
<mrvn> Too bad we don't have string literals
<_p4bl0> thanks ksson
<thelema> yes, ocaml is tricky, having two equalities.
<thelema> mrvn: why string literals?
thrasibule has joined #ocaml
ikaros has quit ["Leave the magic to Houdini"]
_p4bl0 has left #ocaml []
Narrenschiff has joined #ocaml
_zack has quit ["Leaving."]
<fx___> ksson, looks like I've got the partial fix for #4713 (removing last comment in file)
<ksson> fx___: sorry?
<ksson> fx___: i have to remove the last comment in the file?
<fx___> no, I have the patch that will make camlp4o to show the last comment in file
<ksson> ah ok :)
<ksson> nice
<fx___> but that's only the minor half of the problem
<ksson> hmm
<ksson> fx___: if you want me to test anything, send me the patch
<ksson> but i won't have much time tonight
<fx___> I'll attach it to bugreport later
thrasibule has quit [Read error: 113 (No route to host)]
<ksson> ok
Yoric has quit []
schme has quit [Read error: 60 (Operation timed out)]
schme has joined #ocaml
ikaros has joined #ocaml
mattam has quit [Read error: 60 (Operation timed out)]
Gertm has joined #ocaml
ksson has quit [Read error: 113 (No route to host)]
ttamttam has joined #ocaml
Smerdyakov has joined #ocaml
fx___ has quit [Read error: 110 (Connection timed out)]
thrasibule has joined #ocaml
gareth_0 has joined #ocaml
smimou has joined #ocaml
<gildor> Camarade_Tux: Go into project administration tab -> "Classement du projet dans l'arbre" -> "License"
<gildor> Camarade_Tux: to change project license
Amorphous has quit [Read error: 110 (Connection timed out)]
<Camarade_Tux> gildor: yup, I finally saw it, my eyes are pretty bad :P
gareth_000 has quit [Remote closed the connection]
Amorphous has joined #ocaml
_andre has quit ["leaving"]
BiDOrD has quit [Read error: 60 (Operation timed out)]
ski_ has joined #ocaml
mattam has joined #ocaml
Pimm has joined #ocaml
BiDOrD has joined #ocaml
<Camarade_Tux> I'm wondering how the META files for lablgtk2 look like in debian or fedora: like http://vpaste.net/N0fVT (default?) or like http://vpaste.net/Wfg5L (godi), or something else (in that case, can anyone pastebin it and give me the corresponding link)?
mjsor has joined #ocaml
<thelema> Camarade_Tux: from ubuntu: http://vpaste.net/tin6H?
<Camarade_Tux> thelema: thanks, I think I'll have to get a debian/ubuntu install and test there, this "init" package/predicate seems quite problematic
<Camarade_Tux> (and having different METAs everywhere is quite annoying)
mjsor has quit []
gareth_000 has joined #ocaml
marteo has quit [Read error: 110 (Connection timed out)]
marteo has joined #ocaml
gareth_0 has quit [Remote closed the connection]
quelqun_dautre has joined #ocaml
thrasibule has quit [Read error: 60 (Operation timed out)]
cloudhea has joined #ocaml
* mrvn still wonders why (int, int, c_layout) Bigarray.Array1.t does not generate inline code. Or rather why it looses the type information before the code generator checks if it has inline code for the type.
<mrvn> (which it does)
<ygrek> ertai, is there some fundamental reason why comments are not part of the ast?
jeddhaberstro has joined #ocaml
Narrenschiff has quit [Read error: 60 (Operation timed out)]
cloudhead has quit [Read error: 110 (Connection timed out)]
CcSsNET has quit [Client Quit]
<Gertm> Is there a good guide on how to use and set up emacs for ocaml?
<Smerdyakov> I just ran "apt-get install caml-mode". :P
<Gertm> ah, tuareg seems nice, now I just need to find how to use it.
<Smerdyakov> Well, in Debian, you just run that command and then load an OCaml source file.
palomer has joined #ocaml
<palomer> hello
<Gertm> Smerdyakov: yeah thanks, it works. Just don't know how to use it :)
<palomer> how do I tell omake to include pcre when compiling a camlp4 source file?
<Smerdyakov> Gertm, you mean "how to use OCaml"?
<Gertm> Smerdyakov: I mean how to use the emacs mode :)
<Camarade_Tux> palomer: mikmatch?
<Smerdyakov> Gertm, it's quite useful without any special procedures. Standard compile-file and all that work.
<Smerdyakov> Gertm, I think I have the wrong name for that. I mean whatever is that command to compile and run through error locations.
<palomer> ahh, woops
<palomer> nevermind
<palomer> how do I use ocamlfind to compile camlp4 source files?
<Gertm> Smerdyakov: I'll work it out :)
<Camarade_Tux> palomer: I think: -syntax camlp4o -pkg mikmatch_pcre [ in my case ]
<palomer> ah, right
<Camarade_Tux> but I'm quite tired so it may be wrong :-)
<palomer> camlp4o -I /usr/lib/ocaml/type-conv pa_type_conv.cmo pa_seditable.cmo test.ml <-- how do I write this in ocamlfind?
<palomer> it simply outputs the resulting source after transformation
<Camarade_Tux> palomer: what is your full command-line ?
<palomer> that is it
<Camarade_Tux> oh, sorry ><
<Camarade_Tux> ocamlind opt -c -f -syntax camlp4o -package pa_type_conv,pa_seditable test.ml
<palomer> I don't like the -I /usr/lib/ocaml/lib-conv
<Camarade_Tux> but, is seditable installed? and with ocamlfind? with a META?
<palomer> pa_seditable isn't a package
<palomer> it's a file in the current directory
<Camarade_Tux> try this then: ocamlind byte -c -f -syntax camlp4o -package pa_type_conv pa_seditable.cmo test.ml
<palomer> -f isn't recognized
<palomer> byte isn't recognized either
<Camarade_Tux> sorry, it's -g
<Camarade_Tux> typo
<Camarade_Tux> byte, I never use it: it's 'ocamlc' actually, I got confused, sorry
<palomer> ocamlfind: When using -syntax, the META variable 'preprocessor' must be set
* Camarade_Tux should go to bed, errr, he's already there ><
<Camarade_Tux> maybe something in type_conv's META, not sure
<palomer> well, pa_seditable is doing the preprocessing
<Camarade_Tux> well, sorry, the brain has shut off, I can't think
<palomer> hrmph, seems easier to stick to camlp4o and just put -I /usr/lib/ocaml/pcre pcre.cma
cloudhea has quit [Connection timed out]
Tianon has quit [Read error: 104 (Connection reset by peer)]
Tianon has joined #ocaml
Smerdyakov has quit ["Leaving"]
ttamttam has quit ["Leaving."]
<palomer> hrmph
<palomer> Gen.idp doesn't seem very useful
monra has joined #ocaml
monra has left #ocaml []
valross has joined #ocaml
gareth_000 has quit [Remote closed the connection]
demitar has quit ["Ex-Chat"]
ulfdoz has joined #ocaml
Regenschein has joined #ocaml
demitar has joined #ocaml
ulfdoz has quit [Read error: 110 (Connection timed out)]
ygrek has quit [Remote closed the connection]
marteo has quit ["Debian GNU/Hurd is Good."]
<palomer> bummer
* palomer wonders why lazy is a keyword but not force
<palomer> maybe it's because lazy is magic while force is just an external function
CcSsNET has joined #ocaml
<mfp> palomer: w/ ocamlfind, you can pass extra options to camlp4o with -ppopt xxx
<mfp> e.g. ocamlfind ocamlc -c -syntax camlp4o -package pa_type_conv -ppopt pa_seditable.cmo test.ml
demitar has quit [Read error: 110 (Connection timed out)]