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
-~----------~----~----~----~------~----~------~--~---

Reply via email to