</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>
<literal>hs_exit()</literal><footnote><para>The outermost
<literal>hs_exit()</literal> will actually de-initialise the
system. NOTE that currently GHC's runtime cannot reliably
- re-initialise after this has happened.</para>
+ re-initialise after this has happened,
+ see <xref linkend="ffi-divergence" />.</para>
</footnote>.</para>
<para>NOTE: when linking the final program, it is normally