1 Old Syntactic Forms
The same binding as
#%app. (This binding was not present in
version 372 and earlier.)
(define id expr) |
(define (head args) body ...+) |
|
head | | = | | id | | | | | | (head args) | | | | | | args | | = | | arg-id ... | | | | | | arg-id ... . rest-id |
|
Like
define in
scheme/base, but without
support for keyword arguments or optional arguments.
(if test-expr then-expr else-expr) |
(if test-expr then-expr) |
|
(case val-expr case-clause ...) |
|
Provides a kind of dynamic binding via mutation of the ids.
The fluid-let form first evaluates each expr to
obtain an entry value for each id. As evaluation
moves into body, either though normal evaluation or a
continuation jump, the current value of each id is swapped
with the entry value. On exit from body, then the current
value and entry value are swapped again.
(define-struct id-maybe-super (field-id ...) maybe-inspector-expr) |
|
maybe-inspector-expr | | = | | | | | | | | expr |
|
Like
define-struct from
scheme/base, but with fewer
options. Each field is implicitly mutable, and the optional
expr is analogous to supplying an
#:inspector
expression.
(let-struct id-maybe-super (field-id ...) body ...+) |
Expands to
Like
#%require and
#%provide. The
-for-syntax,
-for-template, and
-for-label forms are translated to
#%require
and
#%provide using
for-syntax,
for-template, and
for-label sub-forms,
respectively.
Expands to 'datum, even if datum is a
keyword.