[previous] [up] [next]     [index]
Next: Invoking Signed Units Up: Units with Signatures Previous: Signed Units

Signed Compound Units

The compound-unit/sig form links multiple signed units into a new signed compound unit:

  (compound-unit/sig 
    (import (tag : signature)  tex2html_wrap_inline100181 ) 
    (link (tag : signature (expr linkage  tex2html_wrap_inline100181 ))  tex2html_wrap_inline100181 ) 
    (export export-element  tex2html_wrap_inline100181 ))

linkage is one of: unit-path

unit-path is one of: simple-unit-path (simple-unit-path : signature)

simple-unit-path is one of: tag (tag identifier tex2html_wrap_inline100181 )

export-element is one of: (var (simple-unit-path variable)) (var (simple-unit-path variable) external-variable) (open unit-path) (unit unit-path) (unit unit-path variable) tag is: identifier

The import clause is similar to the import clause of a unit/sig expression, except that all imported signatures must be given a tag identifier.

The link clause of a compound-unit/sig expression is different from the link clause of a compound-unit expression in two important aspects:

The export clause determines which variables in the sub-units are re-exported and implicitly determines the export signature of the new compound unit. A signed compound unit can export both individual variables and entire signed units. When an entire signed unit is exported, it becomes an embedded unit of the resulting compound unit.

There are five different forms for specifying exports:

The collection of names exported by a compound unit must form a legal signature. This means that all exported names must be distinct.

Run-time checks insure that all link clause exprs evaluate to a signed unit, and that all linkages match according to the specified signatures:


[previous] [up] [next]     [index]
Next: Invoking Signed Units Up: Units with Signatures Previous: Signed Units

PLT