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