17
Kann jemand diesen (plt) Scheme-Code in Clojure umschreiben?Tail Call Beseitigung in 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)))
In einer solchen Art und Weise, um nicht die Verfahren f kollabieren, g und h zusammen und der Code zu ermöglichen, auf unbestimmte Zeit zu laufen, ohne abzustürzen?