Syntax:
<Test>, <consequent>, and <alternate> may be arbitrary
expressions.
Semantics:
An if expression is evaluated as follows: first,
<test> is evaluated. If it yields a true value (see
section see Booleans), then <consequent> is evaluated and
its value(s) is(are) returned. Otherwise <alternate> is evaluated and its
value(s) is(are) returned. If <test> yields a false value and no
<alternate> is specified, then the result of the expression is
unspecified.
(if (> 3 2) 'yes 'no) ==> yes
(if (> 2 3) 'yes 'no) ==> no
(if (> 3 2)
(- 3 2)
(+ 3 2)) ==> 1
|