To add a bit to this, the JVM does not support tail call recursion.
As I understand it, Clojure compiles into bytecode that effectively
turns the recurs into an iterative process.  Scala does something
similar but automatically (i.e. you don't have to use a specific
keyword).  The advantage to Clojure's approach, IMO, is that given
that it isn't guaranteed by the JVM, you at least know when you expect
a tail recursion, and get an error from Clojure if you aren't calling
from a tail position.  The various clojure books out there expand more
on this and by far more eloquently.

Cheers

On Aug 3, 6:47 am, David Nolen <dnolen.li...@gmail.com> wrote:

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to