7.6.2.7 rnrs control

The (rnrs control (6)) library provides syntactic forms useful for constructing conditional expressions and controlling the flow of execution.

Scheme Syntax: when test expression1 expression2 ...
Scheme Syntax: unless test expression1 expression2 ...

The when form is evaluated by evaluating the specified test expression; if the result is a true value, the expressions that follow it are evaluated in order, and the value of the final expression becomes the value of the entire when expression.

The unless form behaves similarly, with the exception that the specified expressions are only evaluated if the value of test is false.

Scheme Syntax: do ((variable init step) ...) (test expression ...) command ...

This form is identical to the one provided by Guile’s core library. See Iteration mechanisms, for documentation.

Scheme Syntax: case-lambda clause ...

This form is identical to the one provided by Guile’s core library. See Case-lambda, for documentation.