【发布时间】:2010-02-02 04:16:20
【问题描述】:
有人可以将这个 (plt) Scheme 代码重写为 Clojure 吗?
(define (f n)
(printf "(f ~a)~n" n)
(g n))
(define (g n)
(printf "(g ~a)~n" n)
(h n))
(define (h n)
(printf "(h ~a)~n" n)
(f (+ n 1)))
以不将过程 f、g 和 h 一起折叠并允许代码无限期运行而不会崩溃的方式?
【问题讨论】:
标签: clojure scheme tail-recursion tail-call-optimization