Over in Clojure land, Rich Hickey announced [1] "I've added trampoline to ease the conversion/creation of mutually recursive algorithms in Clojure.
Trampolines are a well known technique for implementing TCO - instead of actually making a call in the tail, a function returns the function to be called, and a controlling loop calls it, thus allowing chained execution without stack growth." This kicked off a great discussion in Scala's debate mailing list [2], seeing how they could implement the idea as well. An interesting aspect of this is that the programmer using the technique actually indicates it in the code--see the two discussions for examples. Thought I'd post this here so you all wouldn't miss the fun. I'm sure many of you will have your own approaches to the problem. And _ahem_, for those of you who are going to say you-know-what, yes, we all wish this were easier and cheaper to do on the JVM. So, count that as said for today. Cheers (and hope I didn't misrepresent anything) Patrick 1 http://tinyurl.com/6zbrsy or http://groups.google.com/group/clojure/browse_thread/thread/6257cbc4454bcb85/3addf875319c5c10?#3addf875319c5c10 2 http://tinyurl.com/6bn35b or http://www.nabble.com/Tail-calls-via-trampolining-and-an-explicit-instruction-td20702915.html --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---