Next: Mixing Core and Signed Up: Units with Signatures Previous: Signed Compound Units

## Invoking Signed Units

Signed units are invoked using the `invoke-unit/sig` form: ``

      (invoke-unit/sig expr invoke-linkage   )

      invoke-linkage is one of:
         signature
         (identifier : signature)

If the invoked unit requires no imports, the `invoke-unit/sig` form is used in the same way as `invoke-unit`. Otherwise, the invoke-linkage signatures must match the import signatures of the signed unit to be invoked. If the signatures match, then variables in the environment of the `invoke-unit/sig` expression are used for immediate linking; the variables used for linking are the ones with names corresponding to the flattened signatures. The signature flattening algorithm is specified in section 7.3.1.1; when the `(identifier : signature)` form is used, `identifier:` is prefixed onto each variable name in the flattened signature and the prefixed name is used.