Be careful about parentheses and indenting with
that the expressions within a test-action clause are indented by only one
character, but that's very significant. Without that indenting, a
cond is very hard to read.
Suppose we replace the following awkward if expression with a cond.
;; awkward if expression requiring begins to sequence actions in branches (if (a) (begin (b) (c)) (begin (e) (f)))
We could write it like this:
(cond ((a) (b) (c)) (else (e) (f)))
Sometimes, when the clauses of a cond are small, a whole clause will be written out horizontally. The above example is likely to be written like this:
(cond ((a) (b) (c)) (else (d) (e)))
Also be careful about the parentheses around condition expressions.
Notice that the parentheses around
(a) are there because
the condition is call to
a with zero arguments, not because
you always put parentheses around the condition expression. (Notice
that there are no parentheses around
#t, and there wouldn't
be parentheses around
a if we just wanted to test the value
of the variable
a, rather than call it and test the result.)