if

(if <test> <consequent> <alternate>)


Description:

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 6.3.1), 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.


Arguments:


Returns: boolean


Examples:

(if (> 3 2) 'yes 'no)        =>  yes

(if (> 2 3) 'yes 'no)        =>  no

(if (> 3 2)

    (- 3 2)

    (+ 3 2))                    =>  1



Back to index