gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
Smerdyakov has joined #ocaml
emmanuelux has joined #ocaml
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 252 seconds]
ulfdoz_ is now known as ulfdoz
Sablier has quit [Quit: Quitte]
ssbr has quit [Remote host closed the connection]
Smerdyakov has quit [Quit: Leaving]
gnuvince has quit [Ping timeout: 246 seconds]
srcerer has quit [Ping timeout: 248 seconds]
manu3000 has joined #ocaml
smerz has quit [Remote host closed the connection]
fraggle_ has quit [Read error: Connection reset by peer]
gnuvince has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
everyonemines has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
emmanuelux has quit [Quit: @+]
cdidd has quit [Remote host closed the connection]
gnuvince has quit [Ping timeout: 260 seconds]
gnuvince has joined #ocaml
gnuvince_ has joined #ocaml
gnuvince_ has quit [Client Quit]
gnuvince_ has joined #ocaml
gnuvince has quit [Ping timeout: 250 seconds]
cyphase has quit [Ping timeout: 246 seconds]
cyphase has joined #ocaml
diego_diego has joined #ocaml
diego_diego has quit [Client Quit]
Cyanure has joined #ocaml
manu3000 has quit [Quit: manu3000]
manu3000 has joined #ocaml
Cyanure has quit [Remote host closed the connection]
danblick has joined #ocaml
err404 has joined #ocaml
ocp has quit [Ping timeout: 256 seconds]
Snark has joined #ocaml
ocp has joined #ocaml
maufred has joined #ocaml
djcoin has joined #ocaml
tomprince has quit [Read error: Operation timed out]
silver has joined #ocaml
<kaustuv> http://caml.inria.fr/mantis/view.php?id=1643 -- is that a record for the time taken to fix a bug (albeit not technically a bug)?
<adrien> well, it breaks API compat and it makes more sense for version "4" ;-)
<kaustuv> It only marks as deprecated, not removes
<adrien> it'll be done in OCaml 6 ;p
<adrien> erf, I meant 5
<kaustuv> Apparently this beats #1643: http://caml.inria.fr/mantis/view.php?id=352
munga has joined #ocaml
lamawithonel has quit [Ping timeout: 246 seconds]
lamawithonel has joined #ocaml
Sablier has joined #ocaml
tomprince has joined #ocaml
djcoin has quit [Ping timeout: 246 seconds]
Hussaind has joined #ocaml
Hussaind has left #ocaml []
djcoin has joined #ocaml
Se7en has left #ocaml []
avsm has quit [Quit: Leaving.]
mjmt has joined #ocaml
Yoric6 has joined #ocaml
eni has joined #ocaml
ocp has quit [Ping timeout: 246 seconds]
ggherdov has joined #ocaml
cdidd has joined #ocaml
alxbl has quit [Ping timeout: 260 seconds]
alxbl has joined #ocaml
_andre has joined #ocaml
Sablier_ has joined #ocaml
Sablier has quit [Ping timeout: 260 seconds]
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
eni is now known as albacker
albacker has quit [Changing host]
albacker has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
Kakadu has joined #ocaml
<Drakken> Which is considered more important in code generators: keeping the output code simple, or keeping the source of the generator itself simple?
testcocoon has joined #ocaml
<flux> both!
<flux> but if I had to choose, it would be the latter
<Drakken> In particular, if the generator binds a variable in some cases and doesn't in others, is it worth writing two versions of the generator, or is it more standard to just use "_"?
<flux> it's not intended for humans to read, except for debugging the code generator (ie. you)
<Drakken> i.e. use "_"
<flux> just use _
<flux> that's what some camlp4 extensions do as well
<Drakken> that's what I thought, but I didn't want anyone to think I couldn't do it the other way :D
silver has quit [Remote host closed the connection]
silver has joined #ocaml
<mrvn_> Anyone know of a fix point arithmetic module? Maybe a functor over the precision.
mrvn_ is now known as mrvn
ggherdov has quit [Ping timeout: 265 seconds]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
munga has quit [Ping timeout: 245 seconds]
ocp has joined #ocaml
fschwidom has joined #ocaml
avsm1 has joined #ocaml
avsm has joined #ocaml
munga has joined #ocaml
avsm1 has quit [Ping timeout: 265 seconds]
<Drakken> Why does ocamlbuild not know how to build foo.inferred.mli right after it built foo.cmo with exactly the same options?
ggherdov has joined #ocaml
gnuvince_ has quit [Ping timeout: 252 seconds]
<adrien> what's the exact error message?
munga has quit [Remote host closed the connection]
ocp has quit [Ping timeout: 265 seconds]
albacker has quit [Quit: Leaving]
fschwidom has quit [Remote host closed the connection]
jamii has joined #ocaml
gnuvince has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.2]
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
Se7en has joined #ocaml
Se7en has quit [Ping timeout: 245 seconds]
sgnb`` has quit [Read error: Operation timed out]
sgnb`` has joined #ocaml
avsm has quit [Quit: Leaving.]
sgnb`` has quit [Ping timeout: 240 seconds]
sgnb`` has joined #ocaml
sgnb`` has quit [Ping timeout: 245 seconds]
fraggle_ has joined #ocaml
<Kakadu> hi all!
<Kakadu> Let we have many functions with ~context labeled parameter. What is the best spell to receive from N functions with ~context argument another N functions where ~context value is carried with my value?
silver has quit [Remote host closed the connection]
<thelema> let apply_context ctx funs = List.map (fun f -> f ~context:ctx) funs
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 260 seconds]
<Kakadu> thelema: I've catched an idea but these functionare mixed with normal functions on 1382 lines of Harrop's code.... :(
Anonyme45619 has joined #ocaml
snearch has joined #ocaml
sgnb has joined #ocaml
fschwidom has joined #ocaml
Qrntz has quit [Changing host]
Qrntz has joined #ocaml
osa1 has joined #ocaml
Yoric6 has quit [Ping timeout: 264 seconds]
Yoric6 has joined #ocaml
fschwidom has quit [Remote host closed the connection]
osa1 has quit [Quit: Konversation terminated!]
wtetzner_ has joined #ocaml
everyonemines has quit [Remote host closed the connection]
Se7en has joined #ocaml
danblick has quit [Ping timeout: 265 seconds]
<wmeyer``> Drakken: I definietely don't care about generated code if you don't have to understand it. However, make sure your generated code perform well - in terms of execution (both runtime and build) and size.
<flux> 1) make it work 2) make it fast :-)
fasta has joined #ocaml
<flux> or perhaps s/)/./g
<adrien> sepxlib's code is _HIGHLY_ repetitive =/
Yoric7 has joined #ocaml
Yoric6 has quit [Ping timeout: 264 seconds]
<mrvn> repetitive, reiterative, recurring and tautological?
hto has quit [Read error: Connection reset by peer]
<wmeyer``> adrien: that begs a question, maybe Camlp4 is too complicated for factoring these tasks - complicated to setup etc. not everything can be factored - e.g. variadic functions needs macro support
<mehdid> flux: ":-."?
<flux> mehdid, meh.
<wmeyer``> adrien: Common Lisp style macros beat down Camlp4 hard in terms how easy is to use them and how powerful they are. CPP is fine for the most simpliest cases
<mrvn> wmeyer``: At some point the abstraction becomes harder to understand than the repetition.
<wmeyer``> mrvn: Agreed - however repetition is harder to maintain
<mrvn> nope. again there is a point of equilibrium
<wmeyer``> all depends how many times you need to repeat :-)
wtetzner_ has quit [Remote host closed the connection]
taruti has joined #ocaml
Se7en has left #ocaml []
smerz has joined #ocaml
lamawithonel has quit [Read error: Connection reset by peer]
fasta has quit [Quit: Quit]
fasta has joined #ocaml
<adrien> wmeyer``: I don't think so: the repetitions in sexplib are trivial
osa1 has joined #ocaml
<adrien> wmeyer``: it's not about noticing repetitions between different types
<adrien> wmeyer``: http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=yypkg/yypkg.git;a=blob;f=src/typesSexp.ml#l23 and #l29
lamawithonel has joined #ocaml
emmanuelux has joined #ocaml
<adrien> mrvn: but writing the same code as sexplib generates is hard
<adrien> see that file I've linked to; it's easy to make mistakes (repetitive aspect) but it's not always trivial
<wmeyer``> adrien: What bothers me more is that List should not be list but rather Cons
ocp has joined #ocaml
<wmeyer``> adrien: (Cons (Num 1, Num 1)) is then possible, but how can you represent it with List?
<wmeyer``> means (1 . 1) in Scheme
<wmeyer``> is not the same as '(1 1)
<wmeyer``> anyway i am tired, sorry guys - got to go to bed for 2 or 3 h...
lamawithonel has quit [Read error: Connection reset by peer]
lamawithonel has joined #ocaml
snearch has quit [Quit: Verlassend]
_andre has quit [Quit: leaving]
Snark has quit [Quit: Quitte]
Kakadu has quit [Quit: Konversation terminated!]
Yoric7 has quit [Ping timeout: 250 seconds]
Yoric7 has joined #ocaml
gnuvince has quit [Ping timeout: 245 seconds]
osa1 has quit [Quit: Konversation terminated!]
avsm has joined #ocaml
Yoric7 has quit [Quit: Instantbird 1.2a1pre -- http://www.instantbird.com]
ocp has quit [Ping timeout: 245 seconds]
lamawithonel has quit [Read error: Connection reset by peer]
gnuvince has joined #ocaml
jamii has quit [Read error: Connection reset by peer]
lamawithonel has joined #ocaml
srcerer has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
srcerer has quit [Read error: Connection reset by peer]
srcerer has joined #ocaml
err404 has quit [Remote host closed the connection]
<gnuvince> Is this not tail recursive? I get a stack overflow exception when running it in the REPL, or when it's compiled with ocamlc and ocamlopt. http://ideone.com/oJhHM
<Drakken> gnuvince yes, that's TR
Anonyme45619 has quit []
<gnuvince> Drakken: how come it stack overflows?
<Drakken> gnuvince I don't see why it would.
<Drakken> gnuvince maybe if you accidentally wrote "loop (n+1) ys" (instead of ys')
<Drakken> not a stack overflow though
<gnuvince> no, it's fine.
<gnuvince> with a 100,000 elements list, I get the correct result
<gnuvince> When I bump that to a million, I get the stack overflow :-/
<_habnabit> gnuvince, where's your test case
<gnuvince> Hang on...
<gnuvince> I'll extract the relevant code from the file
<_habnabit> as long as it's runnable
<gnuvince> Don't forget to link unix.cm[x]a
mehitabel has quit [Ping timeout: 252 seconds]
mehitabel has joined #ocaml
<Drakken> gnuvince are you sure the overflow doesn't occur in range?
<Sablier_> :o it seems like ^^
<gnuvince> hrmm
<gnuvince> never thought about that!
<gnuvince> Oops :D
<gnuvince> Good call Drakken ;)
<_habnabit> that's what I suspected it would be
<_habnabit> gnuvince, you know how to make ocaml show you the backtrace, right?
jamii has joined #ocaml
<gnuvince> #trace func?
<pippijn> see the Printexc module
<gnuvince> I'll check it out.
<gnuvince> by the way, are there news from Yaron et al. about Real World OCaml?
<Drakken> Why would a million elements overflow the stack?
<_habnabit> I don't understand the question
<Drakken> Doesn't that mean the stack is only a few MB?
<_habnabit> the C stack grows by quite a bit more than a few bytes every time a non-TC function recurses
<Drakken> maybe a few 10s of MBs?
<_habnabit> a megabyte is around a million bytes. it's still more than 10 bytes per stack frame
<_habnabit> anyway, if you're on a POSIX-y system, you can do ulimit -a to see your stack limit
<Drakken> 8MB. Less than 1 percent of total memory.
<Drakken> how stingy :(
emmanuelux has quit [Ping timeout: 264 seconds]
Sablier_ has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
alex-hu has joined #ocaml
cdidd has quit [Remote host closed the connection]