15 lines
249 B
Scheme
15 lines
249 B
Scheme
|
; 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))))
|