Recursive procedure calls are allowed. Declaration of types and variables before use is required. When needed textually prior to declaration, forward declaration of procedures is needed. Modules constitute a collection of declarations and sequences of statements. A module serves as a wall around its local objects whose transparency is strictly under control of the programmer.
Compilation units are proper modules.
There is no separation between definition and implementation module as in Modula-2. Standard functions procedures are predeclared and directly known by the compiler. CHAR the corresponding capital letter. T maximum value of type T, with T of any basic type. T minimum value of type T, with T of any basic type.