+<!-- ====================== HIERARCHICAL MODULES ======================= -->
+
+ <sect2 id="hierarchical-modules">
+ <title>Hierarchical Modules</title>
+
+ <para>GHC supports a small extension to the syntax of module
+ names: a module name is allowed to contain a dot
+ <literal>‘.’</literal>. This is also known as the
+ “hierarchical module namespace” extension, because
+ it extends the normally flat Haskell module namespace into a
+ more flexible hierarchy of modules.</para>
+
+ <para>A module name in the extended syntax consists of a
+ sequence of components, each separated by a dot. When searching
+ for an interface file (or a source file, in the case of GHCi or
+ when using <option>--make</option>) for an imported module, GHC
+ interprets the dot as a path separator. So for example, if a
+ module <literal>A.B.C</literal> is imported, then for each
+ directory <literal>D</literal> on the search path (see the
+ <option>-i</option> option, <xref
+ linkend="options-finding-imports">), GHC will look in the
+ directory <literal>D/A/B</literal><footnote><para>On Windows,
+ this would be <literal>D\A\B</literal>.</para></footnote> for an
+ interface file called <filename>C.hi</filename> or a source file
+ <filename>C.hs</filename> or <filename>C.lhs</filename>.</para>
+
+ <para>Note that as far as the compiler is concerned, module
+ names are always fully qualified; the hierarchy only has a
+ special meaning when searching for interface files and source
+ files in the filesystem. In particular, this means that the
+ full module name must be given after the
+ <literal>module</literal> keyword at the beginning of the
+ module; for example, the module <literal>A.B.C</literal> must
+ begin</para>
+
+<programlisting>module A.B.C</programlisting>
+
+ <para>GHC comes with a large collection of libraries arranged
+ hierarchically; see the accompanying library documentation.
+ There is an ongoing project to create and maintain a stable set
+ of <quote>core</quote> libraries used by several Haskell
+ compilers, and the libraries that GHC comes with represent the
+ current status of that project. For more details, see <ulink
+ url="http://www.haskell.org/~simonmar/libraries/libraries.html">.</ulink></para>
+
+ </sect2>
+