评论来自:steveminer@gmail.com
如果这个评论离题了,请见谅。但是,原始示例对我来说有点令人困惑。也许它应该是这样的
`
(defmacro nestfn [n &.body]
(if (> n 0)
`(fn [] (nestfn ~(dec n) ~@body))
`(do ~@body)))
`
这样,{{(trampoline (nestfn 10 "foo"))}}将返回"foo"。然而,我在macOS上将n=1000时得到一个CompilationException java.lang.StackOverflowError。