6 Units

+Units (Components) in The Racket Guide introduces units.

Units organize a program into separately compilable and reusable components. The imports and exports of a unit are grouped into a signature, which can include “static” information (such as macros) in addition to placeholders for run-time values. Units with suitably matching signatures can be linked together to form a larger unit, and a unit with no imports can be invoked to execute its body.

The bindings documented in this section are provided by the racket/unit and racket libraries, but not racket/base. The racket/unit module name can be used as a language name with #lang; see Single-Unit Modules.

    6.1 Creating Units

    6.2 Invoking Units

    6.3 Linking Units and Creating Compound Units

    6.4 Inferred Linking

    6.5 Generating A Unit from Context

    6.6 Structural Matching

    6.7 Extending the Syntax of Signatures

    6.8 Unit Utilities

    6.9 Unit Contracts

    6.10 Single-Unit Modules

    6.11 Single-Signature Modules

    6.12 Transformer Helpers