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.
Comments top
1 comment(s) for trampoline.
A tutorial on how to use trampoline is available here:
http://pramode.net/clojure/2010/05/08/clojure-trampoline/
and here:
http://jakemccrary.com/blog/2010/12/06/trampolining-through-mutual-recursion.html