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