University of Washington • CSE583 • D. Notkin
©
2000
12
Special forms
l
Standard rule:
evaluate all
arguments before
invocation
–
This is called
eager
evaluation
l
Can cause
computational (and
performance)
problems
l
Can 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)