Units 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.
|(require racket/unit)||package: base|
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.