<sect3 id="infelicities-Modules">
<title>Module system and interface files</title>
- <para>None known.</para>
+ <para>GHC requires the use of <literal>hs-boot</literal>
+ files to cut the recursive loops among mutually recursive modules
+ as described in <xref linkend="mutual-recursion"/>. This more of an infelicity
+ than a bug: the Haskell Report says
+ (<ulink url="http://haskell.org/onlinereport/modules.html#sect5.7">Section 5.7</ulink>) "Depending on the Haskell
+ implementation used, separate compilation of mutually
+ recursive modules may require that imported modules contain
+ additional information so that they may be referenced before
+ they are compiled. Explicit type signatures for all exported
+ values may be necessary to deal with mutual recursion. The
+ precise details of separate compilation are not defined by
+ this Report."
+
+ </para>
+
</sect3>
<sect3 id="infelicities-numbers">
</variablelist>
</sect2>
+
+ <sect2 id="ffi-divergence">
+ <title>Divergence from the FFI specification</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>hs_init()</literal> not allowed
+ after <literal>hs_exit()</literal></term>
+ <listitem>
+ <para>The FFI spec requires the implementation to support
+ re-initialising itself after being shut down
+ with <literal>hs_exit()</literal>, but GHC does not
+ currently support that.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
</sect1>