Slight refactoring
[ghc-hetmet.git] / docs / users_guide / ffi-chap.xml
index 96cbd59..12aea55 100644 (file)
@@ -7,13 +7,10 @@ Foreign function interface (FFI)
  </title>
 
   <para>GHC (mostly) conforms to the Haskell 98 Foreign Function Interface
-  Addendum 1.0, whose definition is available from <ulink url="http://haskell.org/"><literal>http://haskell.org/</literal></ulink>.</para>
+  Addendum 1.0, whose definition is available from <ulink url="http://www.haskell.org/"><literal>http://www.haskell.org/</literal></ulink>.</para>
 
-  <para>To enable FFI support in GHC, give the <option>-fffi</option><indexterm><primary><option>-fffi</option></primary>
-    </indexterm> flag, or
-the <option>-fglasgow-exts</option><indexterm><primary><option>-fglasgow-exts</option></primary>
-    </indexterm> flag which implies <option>-fffi</option>
-.</para>
+  <para>To enable FFI support in GHC, give the <option>-XForeignFunctionInterface</option><indexterm><primary><option>-XForeignFunctionInterface</option></primary>
+    </indexterm> flag.</para>
 
   <para>GHC implements a number of GHC-specific extensions to the FFI
     Addendum.  These extensions are described in <xref linkend="ffi-ghcexts" />, but please note that programs using
@@ -55,7 +52,7 @@ the <option>-fglasgow-exts</option><indexterm><primary><option>-fglasgow-exts</o
 </para>
 <para>The Haskell FFI already specifies that arguments and results of
 foreign imports and exports will be automatically unwrapped if they are 
-newtypes (Section 3.2 of the FFI addendum).  GHC extends the FFI by automatically unnwrapping any newtypes that
+newtypes (Section 3.2 of the FFI addendum).  GHC extends the FFI by automatically unwrapping any newtypes that
 wrap the IO monad itself.
 More precisely, wherever the FFI specification requires an IO type, GHC will
 accept any newtype-wrapping of an IO type.  For example, these declarations are
@@ -300,10 +297,10 @@ int main(int argc, char *argv[])
  }
 </programlisting>
 
-        <para>The intialisation routine, <literal>mylib_init</literal>, calls
+        <para>The initialisation routine, <literal>mylib_init</literal>, calls
           <literal>hs_init()</literal> and <literal>hs_add_root()</literal> as
           normal to initialise the Haskell runtime, and the corresponding
-          deinitialisation funtion <literal>mylib_end()</literal> calls
+          deinitialisation function <literal>mylib_end()</literal> calls
           <literal>hs_exit()</literal> to shut down the runtime.</para>
       </sect3>