Macro Bcond

Part of:

package new-let
( bcond &rest clauses )
A generalization of CL:COND that makes it convenient to compute a value in
the predicate expression of a clause and then use that value in the consequent.
If the predicate expression is a LET form, then the scope of the variables bound
by the LET is extended to include the consequent expressions. For example:

(cond ((let ((x (foo)))
(bar x))
(baz x)))

Here the X in (BAZ X) is the one bound to the result of (FOO).