special forms
special forms
- if-expressions and define-expressions are “special forms”
- special forms have special evaluation rules
rule for evaluating if-expression
- to evaluate (if c e1 e2):
- evaluate the condition expression c –> C
- if C is the value #t
evaluate e1 –> E1
the value of the entire expression is E1
- if C is the value #f
evaluate e2 –> E2
the value of the entire expression is E2
example
- (if (< 3 4) (+ 5 3) 17) –> 8, because:
- first evaluate (< 3 4) –> #t
- now evaluate (+ 5 3) –> 8