NOTE: As a convention in this section, val and body will hold a zodiac:parsed object; var will contain a zodiac:binding. The plural forms, vals and bodies, contain lists of zodiac:parsed.
zodiac:set!-form : zodiac:form (var val)
zodiac:begin-form : zodiac:form (bodies)
zodiac:begin0-form : zodiac:form (bodies)
These structures are explained by the above convention.
zodiac:define-values-form : zodiac:form (vars val)
vars is a list of zodiac:binding.
zodiac:let-values-form : zodiac:form (vars vals body)
zodiac:letrec*-values-form : zodiac:form (vars vals body)
The vars fields are lists of lists of
zodiac:binding.
zodiac:if-form : zodiac:form (test then else)
test, then and else are zodiac:parsed.
zodiac:quote-form : zodiac:form (expr)
expr contains a zodiac:read object.
zodiac:case-lambda-form : zodiac:form (args bodies)
args is a list of argument lists. Each element of
args is an zodiac:arglist (see section
).
zodiac:struct-form : zodiac:form (type super fields)
type is a (McMicMac) zodiac:symbol; fields is a list of
these. zodiac:super is either the false value (#f) or a
zodiac:parsed object, depending on whether or not a super-type
expression was specified.