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))) |