HANDBOOK / LANGUAGE REFERENCE MANUAL /

# Modules

Module = ["'module'" Ident] [UseClause] [ExportClause] Declarations .
UseClause = "'use'" Ident{ "," Ident} .
ExportClause = "'export'" Ident{ "," Ident} .

A specification may be decomposed into several modules.

A Module M has the form

- `'module'` M
  `'use'` M1 `,` ... `,` Mn
  `'export'` E1 `,` ... `,` Em
  D1
  ...
  Dd

Items introduced by the declarations D1, ..., Dd and items exported by modules M1, ..., Mn are visible in M. E1, ..., Em must be items declared in D1, ..., Dd. They are exported by M, i.e. the can be made visible in other modules.