| implementation | ::= | { impl-phrase [ ;; ] } |
| impl-phrase | ::= | value-definition |
| | | type-definition | |
| | | open module-name | |
| value-definition | ::= | let [ rec] let-binding { and let-binding } [ ; ] |
A module implementation consists in a sequence of implementation phrases. An implementation phrase either opens a module, is a type definition or is a sequence of definitions.