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]
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
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