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 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.