flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
emmanuelux has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
tootooroo has joined #ocaml
<ousado> err what?
<bernardofpc> think Fibonacci
<bernardofpc> f(n-1) + f(n-2) is a tree recursion
<bernardofpc> or even "simpler", consider g(a,b) = g(a,b-1) + g(a-1,b) or something like that
ollehar has quit [Ping timeout: 256 seconds]
RWan has quit [Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]]
<thizanne> Leonidas: I don't know, but I think people use more and more things like opam and less and less AUR
<thizanne> personnally I still prefer to use my distribution package manager so I try to make packages when I need something
<Leonidas> thizanne: hmm, I can understand that. I thought about packaging ocp-indent but it has a rat-tail of dependencies and I don't feel like maintaining 5 PKGBUILDs for one package that I use :-/
darkf has joined #ocaml
<thizanne> bernardofpc: what do you call "tree-tail recursion" ?
<thizanne> Leonidas: doesnt it need only ocp-build ?
<bernardofpc> a recursive function whose last *two* actions is to call itself on the left and right branches of the underlying tree
<bernardofpc> and therefore needs only a stack of size <largest left branch>
<Leonidas> thizanne: and ocp-build depends on typerex
<Leonidas> plus ocp-build is not really a project, it is part of something else.
<Leonidas> at that point I stopped caring
Neros__ has quit [Ping timeout: 258 seconds]
<Leonidas> maybe if I have a boring afternoon sometime.
<thizanne> but typerex is already in AUR
<thizanne> iirc
<Leonidas> oh, indeed it is. twice.
<thizanne> :D
<thizanne> bernardofpc: then ocaml will do it like you describe
<Leonidas> one of them orphaned. maybe I can adopt it as well, doesn't make a difference anymore at this point, after I adopted 7 packages one day
<thizanne> but you have indeed to write it explicitly tail-recursively
<bernardofpc> thizanne: the point is that the compiler recognizes tree recursion as tail recursion and compile it that way
<thizanne> it's only partly tail recursion
<bernardofpc> without me having to explicitly write in tail-recursive form
<thizanne> the first call is non terminal, the second one is, and it will be compiler that way
<bernardofpc> (I'm thinking of GCC here)
<bernardofpc> i can write return g(a,b-1) + g(a-1,b) ; and it compiles in a tree recursive form
<bernardofpc> in OCaml, I have to explicitly write my accumulator
<bernardofpc> that's one compiler otpimization that I find most useful from GCC
<thizanne> I'm not sure you always want your compiler to make your functions tail-recursive when they are not
<bernardofpc> why so ?
<thizanne> iirc it will slow down your functions when tail-rec is not needed (on « small » entries)
<bernardofpc> how ?
<thizanne> I never read the assembly code to see how
<bernardofpc> but do you have an example in mind ?
<bernardofpc> of some function that is faster in non-tail-rec form
<thizanne> no :)
<bernardofpc> :(
<bernardofpc> I can't even imagine what initialization cost a loop would incurr that is not contained in the procedure call overhead anyway
<bernardofpc> and after the second call it should be a plain win
<thizanne> in fact I might have mistaken with functions like map or things like that which need to rev to preserve the order
testcocoon has quit [Ping timeout: 240 seconds]
<bernardofpc> ah
<bernardofpc> that's a "feature" of List.map, I guess that Batteries.List.map uses %identity to make a tail-rec version that don't do rev
q66 has quit [Remote host closed the connection]
testcocoon has joined #ocaml
Neros_ has joined #ocaml
testcocoon has quit [Read error: Connection reset by peer]
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
testcocoon has joined #ocaml
gnuvince has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
Neros_ has quit [Ping timeout: 264 seconds]
pango_ has joined #ocaml
pango has quit [Ping timeout: 264 seconds]
groovy2shoes has quit [Quit: Computer has gone to sleep]
pyacks has joined #ocaml
cdidd has joined #ocaml
cdidd has quit [Ping timeout: 264 seconds]
cdidd has joined #ocaml
gnuvince has quit [Ping timeout: 255 seconds]
breakds has joined #ocaml
zip has quit [Read error: Connection reset by peer]
zip has joined #ocaml
gustav__ has joined #ocaml
gustav_ has quit [Ping timeout: 240 seconds]
derek_c has joined #ocaml
zip has left #ocaml []
derek_c has quit [Quit: Lost terminal]
answer_42 has joined #ocaml
answer_42 has quit [Quit: WeeChat 0.4.0]
leoncamel2 has quit [Ping timeout: 258 seconds]
leoncamel2 has joined #ocaml
Kakadu has joined #ocaml
testcocoon has joined #ocaml
ocp has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
osa1_ has joined #ocaml
ocp has quit [Ping timeout: 252 seconds]
osa1__ has joined #ocaml
osa1_ has quit [Ping timeout: 264 seconds]
tane has joined #ocaml
wwilly has joined #ocaml
<Kakadu> OMG, this opam....
<Kakadu> there is a function git_of_string : 'a -> 'b
<Kakadu> But! 'a <> string !!!
* Kakadu shocked
<wwilly> o/
Snark has joined #ocaml
nimred has quit [Quit: leaving]
nimred has joined #ocaml
ulfdoz has joined #ocaml
nimred has quit [Client Quit]
tootooroo has quit [Read error: Connection reset by peer]
tootooroo has joined #ocaml
UncleVasya has joined #ocaml
anderse has joined #ocaml
pango_ is now known as pango
<orbitz> having to work with side-effecty code reminds you how terrible it is! (in this case I need to avoid unnecesary allocations so using strings in a very impure fashion)
<pippijn> wmeyer: I'm going to write my masters thesis about it (re2ml)
<pippijn> wmeyer: I will release it after
ollehar has joined #ocaml
eikke has joined #ocaml
hto has quit [Read error: Connection reset by peer]
q66 has joined #ocaml
eikke has quit [Read error: Operation timed out]
Neros_ has joined #ocaml
ttamttam has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
emmanuelux has joined #ocaml
ollehar has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
wwilly has quit [Quit: Leaving]
smerz has joined #ocaml
awm22 has quit [Ping timeout: 240 seconds]
<ousado> when using a some branch from the inria ocaml svn repo, is there a standard place to look for tests/usage examples for that branch? like, in experimental/AUTHOR, maybe?
<ousado> s/a//
UncleVasya has quit [Ping timeout: 276 seconds]
weie_ has quit [Ping timeout: 256 seconds]
weie has joined #ocaml
leoncamel2 has quit [Ping timeout: 256 seconds]
groovy2shoes has joined #ocaml
<fasta> Is there an ocaml mail server which only supports the basics that is easy to setup?
<fasta> It should run on port 25, but otherwise I only care about sending e-mail.
<rks_> (that's not exactly what you want)
<rks_> (but you can build your server pretty easily with that)
<fasta> rks_: yeah, well, no thanks :)
<rks_> :D
<ousado> you can take a look at haraka + js_of_ocaml
ulfdoz has joined #ocaml
<orbitz> fasta: i've been considering making an SMTPd in ocaml this last week, not sure the big pay off thouhg
<fasta> orbitz: I think I will just go with something that will forward to my ISP now as it is only for development.
<fasta> orbitz: the only thing I don't like about e-mail servers is the complexity in setting up one.
<orbitz> postfix is n't so bad IIRC
<fasta> Once it is running it seems that it keeps on running with the exception of DOS attacks.
<bernardofpc> +1 for postfix
<fasta> orbitz: you still need to setup DNS for that to work.
<fasta> In short, "e-mail" is complex.
<orbitz> fasta: No you don't?
<bernardofpc> /etc/hosts may be enough for you
<orbitz> just set MX record in godaddy or wahtever
<bernardofpc> if you want just to forward mail, you don't need much
<fasta> orbitz: oh, well, I had to, because of $complexReason.
<fasta> orbitz: but yes, usually you don't.
<ousado> nicely configurable, easy to setup SMTP servers written in a language one might actually want to touch are quite rare
<ousado> let alone extendible
<fasta> ousado: what is that secret ATS project you are working on?
<orbitz> To be fair, writing an smtpd in ocaml wouldn't help with much wit hthe last point :)
<orbitz> there is also lamson
<ousado> orbitz: extendible?
<ousado> orbitz: how so?
<orbitz> ousado: I know of few people that want to touch ocaml
<ousado> errm.. well not as in popular, more as in "sane"
<orbitz> I don't think many programmers think ocaml is sane
<ousado> most programmers don't know it exists
<ousado> orbitz: I'd rather take a look at *which* programmers use ocaml for what kind of stuff
sandybatman has joined #ocaml
<ousado> fasta: what do you mean?
groovy2shoes has quit [Quit: Computer has gone to sleep]
leoncamel2 has joined #ocaml
sandybatman has left #ocaml []
pyacks has quit [Ping timeout: 276 seconds]
<fasta> What virtualization solution do you use, if any?
<fasta> I seem to find myself with the need to run multiple operating systems at the same time with networking in between.
<orbitz> I use virtual box
<ousado> I found vbox to be easiest to setup and test stuff
<fasta> orbitz: and how do you 'deploy' e.g. a Linux VM?
<fasta> orbitz: do you click, click, click or do you have some nice script to setup everything?
<ousado> virtualbox has nice commandline tools
<orbitz> fasta: I only really run one VM for most of my stuff
<orbitz> if I needed a more complex setup i'd probably use charon
cthuluh has quit [Ping timeout: 245 seconds]
cthuluh has joined #ocaml
Yoric has joined #ocaml
pyacks has joined #ocaml
osa1__ has quit [Quit: Konversation terminated!]
UncleVasya has joined #ocaml
darkf has quit [Quit: Leaving]
RagingDave has joined #ocaml
smerz has quit [Ping timeout: 246 seconds]
groovy2shoes has joined #ocaml
Nahra has quit [Remote host closed the connection]
Nahra has joined #ocaml
<wmeyer> ousado: I am thinking about just setting VM on my machine and I'd prefer relatively lightweight solution, I am only concerned about how much time I'll spend on configuring. The rest is not important. What do you use? This would be a windows vm.
mattrepl has joined #ocaml
<orbitz> wmeyer: what host OS?
gnuvince has joined #ocaml
<orbitz> hi gnuvince
<wmeyer> orbitz: ubuntu
<orbitz> wmeyer: virtualbxo works pretty well IME
<wmeyer> orbitz: Ok, going to try
<wmeyer> is there any wiki i can use to quickly look up?
<gnuvince> orbitz: hi
<wmeyer> gnuvince: hi
<orbitz> wmeyer: top gogole htis should cover it
<wmeyer> orbitz: are you sitting on ubuntu too?
<orbitz> No, I run OS X and NixOS
eikke has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
mort___ has joined #ocaml
tane has quit [Quit: Verlassend]
anderse has quit [Quit: anderse]
zpe has quit [Remote host closed the connection]
hto has joined #ocaml
tootooroo has quit [Ping timeout: 240 seconds]
smerz has joined #ocaml
tootooroo has joined #ocaml
zpe has joined #ocaml
sgnb has quit [Read error: Connection reset by peer]
sgnb has joined #ocaml
awm22 has joined #ocaml
tootooroo has quit [Quit: Brain.sys has encountered a problem and needs to close. We are sorry for the inconvenience.]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
tootooroo has joined #ocaml
breakds has joined #ocaml
zpe has quit [Remote host closed the connection]
wmeyer has left #ocaml []
cdidd has quit [Remote host closed the connection]
zpe has joined #ocaml
ttamttam has quit [Remote host closed the connection]
Snark has quit [Quit: leaving]
mort___ has quit [Quit: Leaving.]
mort___ has joined #ocaml
mort___ has quit [Client Quit]
weie has quit [Quit: Leaving...]
weie has joined #ocaml
eikke has quit [Read error: Operation timed out]
weie has quit [Client Quit]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
anderse has joined #ocaml
tootooroo has quit [Ping timeout: 264 seconds]
derek_c has joined #ocaml
mattrepl has quit [Quit: mattrepl]
Yoric has quit [Ping timeout: 256 seconds]
tootooroo has joined #ocaml
Kakadu has quit []
zpe has joined #ocaml
anderse has quit [Quit: anderse]
zpe has quit [Ping timeout: 264 seconds]
ulfdoz has quit [Ping timeout: 252 seconds]
derek_c has quit [Ping timeout: 246 seconds]
eikke has joined #ocaml
derek_c has joined #ocaml
Remjey has left #ocaml []
RagingDave has quit [Quit: Ex-Chat]
frogfoodeater has joined #ocaml
eikke has quit [Ping timeout: 252 seconds]
derek_c has quit [Ping timeout: 264 seconds]
q66 has quit [Remote host closed the connection]
emmanuelux has quit [Ping timeout: 256 seconds]