; Copyright (c) 1994 by Richard Kelsey. See file COPYING. (define *one* 1) (define (fact n) (let loop ((i n) (r *one*)) (if (<= *one* i) (loop (- i *one*) (* i r)) r))) (define (all) (set! *one* (fact (if (> (fact 10) 100) 10 20))))