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.