[previous] [up] [next]     [index]
Next: Objects Up: expand Previous: expand

Units

zodiac:unit-form : zodiac:parsed (imports exports clauses)

imports is a list of zodiac:lexical-bindings. exports is a list of pairs. The first projection of each pair contains a zodiac:top-level-varref/bind, while the second projection contains a (Zodiac) zodiac:symbol. The first projection corresponds to the internal name, and the second projection to the exported name. When no renaming is specified, the same name is used for both projections. clauses is a list of zodiac:parsed objects, corresponding to the expressions in the unit.

zodiac:compound-unit-form : zodiac:parsed (imports links exports)

imports is a list of zodiac:lexical-bindings. link is a list of lists. Each list corresponds to one link clause. The car of the list is a (Zodiac) zodiac:symbol giving the link tag. The cadr is a zodiac:parsed object holding the expression specifying the unit to link in that clause. The cddr is the list of arguments to the unit. Each of the arguments is either a zodiac:lexical-varref, corresponding to an imported variable, or a pair of a zodiac:symbol (for the link clause) and a zodiac:symbol (for the exported name), corresponding to importing from another unit. Finally, zodiac:exports is a list of export clauses. The car of each clause is a zodiac:symbol, naming the link clause; the cadr and cddr are zodiac:symbols giving the internal and exported names, respectively.

zodiac:invoke-unit-form : zodiac:parsed (unit variables)

zodiac:invoke-open-unit-form : zodiac:parsed (unit name-specifier variables)

unit is a zodiac:parsed object; variables is a list of zodiac:parsed objects. name-specifier can have two forms: #f, the false value, if no name prefix is given, or a (Zodiac) zodiac:symbol object, giving the specified name prefix.



PLT