| These two procedures: | Can be replaced by one: |
|---|---|
(define factorial
(lambda (n)
(factorial-product 1 n)))
(define factorial-product
(lambda (a b)
(if (= b 0)
a
(factorial-product (* a b) (- b 1)))))
|
(define factorial
(lambda (n)
(define factorial-product
(lambda (a b)
(if (= b 0)
a
(factorial-product (* a b) (- b 1)))))
(factorial-product 1 n)))
|