As mentioned above, modules may contain sub-modules. There are two kinds of sub-modules, called nested sub-modules and separate sub-modules; the difference is that nested sub-modules are defined in the same source file as the containing module, whereas separate sub-modules are defined in separate source files. Implementations should support separate compilation of separate sub-modules.
A module may not contain more than one sub-module with the same name.
|• Nested sub-modules:|
|• Separate sub-modules:|
|• Visibility rules:|
|• Implementation bugs and limitations:|