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