eval.scm 324 B

123456789101112131415161718192021
  1. ; Part of Scheme 48 1.9. See file COPYING for notices and license.
  2. ; Authors: Richard Kelsey
  3. (define (fact n)
  4. (let loop ((i n) (r 1))
  5. (if (<= i 1)
  6. r
  7. (loop (- i 1) (* i r)))))
  8. (define facts (make-vector 5))
  9. (do ((i 0 (+ i 1)))
  10. ((< 4 i))
  11. (vector-set! facts i (fact i)))
  12. (define f4 (vector-ref facts 4))