OCaml and tail recursion

From: Norman Ramsey (nr@eecs.harvard.edu)
Date: Mon Dec 13 1999 - 18:27:37 MET


Date: Mon, 13 Dec 1999 12:27:37 -0500
From: Norman Ramsey <nr@eecs.harvard.edu>
Message-Id: <199912131727.MAA20344@labrador.eecs.harvard.edu>
To: caml-list@inria.fr
Subject: OCaml and tail recursion

Dear Camllists,

I have just completed my first nontrival Caml program (an implementation
of the rsync algorithm) and I am distressed about the treatment of
tail calls. My code has to go through files one character at a time,
and as an SML programmer from way back, I wrote the code using three
mutually recursive functions that make tail calls to each other.
Imagine my surprise when I started getting errors with stack overflow!
Apparently ocamlc doesn't optimize tail calls. I made some progress
by using ocamlopt, but I miss being able to use the debugger.
Do experienced Camllists have any suggestions?

Norman



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:29 MET