Records
A type_declaration binds a
record_type_expression to a name.
A record_type_expression declares
a set of named fields and types.
A record_type_expression cannot
contain two fields with the
same name, but two distinct
record_type_expressions can have
fields with the same names. To
clarify, these are valid type_declarations:
As described in the
types
section, types have
by-name equivalence and
therefore two identical
record_type_expressions
bound to different names are not type-compatible.
Syntax
The precise syntax of type declarations is given by the following
EBNF: