University of Washington • CSE583 • D. Notkin © 2000
12
Special forms
lStandard rule: evaluate all arguments before invocation
–This is called eager evaluation
lCan cause computational (and performance) problems
lCan define your own
l(define x 0)
l(define y 5)
l(if (= x 0)
    0 (/ y x))
0 l(define (my-if c t e)
  (if c t e)) l(my-if (= x 0)
       0 (/ y x))
error!
l(fact 3)