4 ms·
Sweet. It appears to have proper tail recursion. (define (fib n) (fib-help n (lambda (fn fn-1) fn))) (define (fib-help n k) (if (<= n 1) (k 1 1)
by owinebarger 17y ago
Sweet. It appears to have proper tail recursion.
(define (fib n)
(fib-help n (lambda (fn fn-1) fn)))
(define (fib-help n k)
(if (<= n 1)
(k 1 1)
(fib-help (- n 1)
(lambda (fn-1 fn-2)
(k (+ fn-1 fn-2) fn-1)))))
(fib 1000)