cond
, and
, and or
We've already seen that the special form if
is a kind of expression,
which returns a value as well as affecting control flow. Scheme also has
cond
, a more general conditional construct, and the extended
logical operators and
and or
. These are all value-returning
expressions; they're also special forms, not procedures: they control
whether expressions get evaluated, depending on the values returned by
other expressions.