 
 
 
| module-type | ::= | { join-specification } | 
| | | { caml-specification } | |
| join-specification | ::= | val name : typexpr | 
| | | open module-name | |
| caml-specification | ::= | external name : typexpr = string-literal | 
| | | primitive name : typexpr = string-literal | |
| | | type [ ( ' ident { , ' ident } )] typeconstr-name [ = string-literal ] | |
| | | open module-name | 
| module-expr | ::= | { top-expr [ ;;] } | 
| top-expr | ::= | decl | 
| | | do expr | |
| | | spawn process | |
| | | open module-name | 
 
 
