前にやった、自然数を生成するやつ。少しまともになった。id:Gemmaさんの助言による。
(define (make-natural)
(let ((c '()))
(lambda ()
(call/cc (lambda (yield)
(let loop ((n 0))
(if (null? c)
(call/cc (lambda (cont) (begin (set! c cont)
(yield n))))
(let1 k c (begin (set! c '())
(k))))
(loop (+ n 1))))))))