(block name ..body) name: a sym body: zero or more forms
S
Defines a pair of jump targets.
The body of a block
form is an "implicit do". Within that body,
restart-block
and finish-block
can be used to jump
to the beginning or the end of the block, respectively.
Nested blocks may share the same name. If so, that name will refer to the innermost block. We say that the inner block "shadows" the outer block.
It's not possible for restart-block
or finish-block
to jump outside of an enclosing
fn
form.
(block looper
(fn ()
(restart-block looper))) ; an error