On Apr 3, 2009, at 9:18 AM, Robert Fischer wrote:
> > Jon Harrop wrote: >> On Thursday 02 April 2009 18:10:05 Bradford Cross wrote: >>> What is the current state of the art for language implementers >>> working >>> around these issues (tail calls, continuations, etc) in Clojure, >>> Scala, >>> JRuby, etc? >> >> The state of the art in all of the major "functional" languages for >> the JVM >> (Scala and Clojure) is that they die with a stack overflow because >> the JVM >> lacks tail calls. :-) >> > That's odd. I've been programming with Scala for a while now, and > haven't had this issue. Agreed, and the same goes for clojure using its recur mechanism. There's no doubt that in every application-oriented context I've seen, you can get the job done given the tools that scala and clojure provide, absent contrived examples. The issue is that many classic flow control mechanisms (and some application-oriented algorithms) really do require the optimization of mutual (or arbitrarily-complex) tail calls. This is where you have to punt to trampolines. Of course, this is also where a lot of really phenomenally useful, "foundational" FP constructs operate. - Chas --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to jvm-languages+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---