#### 6.11.3 Conditional Evaluation of a Sequence of Expressions

`and`

and `or`

evaluate all their arguments in order, similar
to `begin`

, but evaluation stops as soon as one of the expressions
evaluates to false or true, respectively.

- syntax:
**and** `expr …` ¶
Evaluate the `expr`s from left to right and stop evaluation as soon
as one expression evaluates to `#f`

; the remaining expressions are
not evaluated. The value of the last evaluated expression is returned.
If no expression evaluates to `#f`

, the value of the last
expression is returned.

If used without expressions, `#t`

is returned.

- syntax:
**or** `expr …` ¶
Evaluate the `expr`s from left to right and stop evaluation as soon
as one expression evaluates to a true value (that is, a value different
from `#f`

); the remaining expressions are not evaluated. The value
of the last evaluated expression is returned. If all expressions
evaluate to `#f`

, `#f`

is returned.

If used without expressions, `#f`

is returned.