Next: , Previous: , Up: iklib syntaxes   [Index]


6.8.6 Additional control flow syntaxes

Syntax: begin0 ?expr0 ?expr ...

Evaluate all the expressions in the given order and return the return values of ?expr0. This syntax comes from the R6RS original document, Appendix A “Formal semantics”.

(begin0
    1
  2)
⇒ 1
Syntax: xor ?expr ...

Exclusive or. When expanded with no expressions: evaluate to #f.

Macro: case-identifiers ?expr ?clause0 ?clause
Auxiliary Syntax: else
Auxiliary Syntax: =>

Special implementation of case expecting only syntactic identifiers as datums; identifiers are compared with free-identifier=?. The syntactic identifiers else and => must be the syntactic bindings exported by (rnrs) and (vicare).

Each ?clause must have one of the formats:

((?identifier0 ?identifier ...) ?body0 ?body ...)
((?identifier0 ?identifier ...) => ?body)
(else ?body0 ?body ...)
(else => ?body)

where the else clauses may appear only as last clause.

?expr must be an expression evaluating to an identifier, otherwise the else clause is evaluated.