2010/05/13

repeated

(define (repeated n f)
(if (zero? n)
identity
(compose f (repeated (- n 1) f))))
(define (repeated n f)
(letrec
((self (lambda (n f acc)
(if (zero? n)
acc
(self (- n 1) f (compose f acc))))))
(self n f identity)))
((repeated 5 (pa$ + 1)) 0)
; -> 5
((repeated 5 (cut + 1 1 <>)) 0)

計算機プログラムの構造と解釈

0 件のコメント:

コメントを投稿