Posted to tcl by aspect at Wed Jan 15 12:35:58 GMT 2014view raw
- ; properly, this should probably simply be:
- ; (call-with-current-continuation (lambda (k) (fib-cps x k)))
- (define (fib x)
- (fib-cps x (lambda (x) x)))
- (define (fib-cps x k)
- (if (<= x 1)
- (k 1)
- (fib-cps (- x 1)
- (lambda (y)
- (fib-cps (- x 2)
- (lambda (z)
- (k (+ y z))))))))
- (for-each (lambda (x)
- (display x)
- (display " ")
- (display (fib x))
- (newline))
- '(0 1 2 3 4 5 6 7 8 9 10))