- (module NAME (EXPORT-SPEC1 ...) BODY ...)syntax
- (module NAME SIGNATURENAME BODY ...)syntax
EXPORT-SPEC may be one of
(IDENTIFIER : syntax [IDENTIFIER1 ...]) syntax export with optional indirect exports (IDENTIFIER : TYPE) value export with type ((IDENTIFIER1 ...) : TYPE) the same as (IDENTIFIER1 : TYPE) ... Additionally, the default meaning of export lists is still supported:
IDENTIFIER a value or syntax export (syntax: IDENTIFIER1 ...) syntax epxort, optionally with indirect exports (interface: INTERFACENAME) exports from given interface (IDENTIFIER1 ...) a syntax export with indirect exports The module defined implicitly imports : (the type declaration form).
SIGNATURENAME should be the name of a signature, which is a compile-time construct that names a set of (optionally typed) exports: