On Nov 26, 2008, at 4:32 PM, lpetit wrote:

> I've maybe missed something, but will this work if one wants to make
> the final return value of the tail call a closure ?

Along the same lines of this being a manual way to do TCO, that issue  
will need to be handled manually as well. Here's what (doc trampoline)  
has to say about it:

user=> (doc trampoline)
-------------------------
clojure.core/trampoline
([f] [f & args])
   trampoline can be used to convert algorithms requiring mutual
   recursion without stack consumption. Calls f with supplied args, if
   any. If f returns a fn, calls that fn with no arguments, and
   continues to repeat, until the return value is not a fn, then
   returns that non-fn value. Note that if you want to return a fn as a
   final value, you must wrap it in some data structure and unpack it
   after trampoline returns.
nil

--Steve


--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to