Add -XImpredicativeTypes, and tighten up type-validity checking (cf Trac 2019)
[ghc-hetmet.git] / docs / users_guide / using.xml
index 2fe5959..c175ca1 100644 (file)
@@ -342,6 +342,20 @@ module X where
       <varlistentry>
        <term>
           <cmdsynopsis>
       <varlistentry>
        <term>
           <cmdsynopsis>
+            <command>ghc --show-iface <replaceable>file</replaceable></command>
+          </cmdsynopsis>
+          <indexterm><primary><option>&ndash;&ndash;--show-iface</option></primary></indexterm>
+        </term>
+       <listitem>
+             <para>Read the interface in
+             <replaceable>file</replaceable> and dump it as text to
+             <literal>stdout</literal>. For example <literal>ghc --show-iface M.hi</literal>.</para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <cmdsynopsis>
             <command>ghc --supported-languages</command>
           </cmdsynopsis>
           <indexterm><primary><option>&ndash;&ndash;supported-languages</option></primary></indexterm>
             <command>ghc --supported-languages</command>
           </cmdsynopsis>
           <indexterm><primary><option>&ndash;&ndash;supported-languages</option></primary></indexterm>
@@ -408,20 +422,6 @@ module X where
        </listitem>
       </varlistentry>
 
        </listitem>
       </varlistentry>
 
-      <varlistentry>
-       <term>
-         <cmdsynopsis>
-            <command>ghc --print-docdir</command>
-          </cmdsynopsis>
-          <indexterm><primary><option>&ndash;&ndash;print-docdir</option></primary></indexterm>
-        </term>
-       <listitem>
-         <para>Print the path to GHC's documentation directory. Note that
-      some distributions do no include the documentation, in which case
-      this directory may be empty or may not exist.</para>
-       </listitem>
-      </varlistentry>
-
     </variablelist>
 
     <sect2 id="make-mode">
     </variablelist>
 
     <sect2 id="make-mode">
@@ -638,7 +638,7 @@ ghc -c Foo.hs</screen>
        <title>Overriding the default behaviour for a file</title>
 
        <para>As described above, the way in which a file is processed by GHC
        <title>Overriding the default behaviour for a file</title>
 
        <para>As described above, the way in which a file is processed by GHC
-         depends on its suffix.  This behaviour can be overriden using the
+         depends on its suffix.  This behaviour can be overridden using the
          <option>-x</option> option:</para>
 
        <variablelist>
          <option>-x</option> option:</para>
 
        <variablelist>
@@ -1130,7 +1130,7 @@ f foo = foo { x = 6 }
          
          <para>This option causes a warning to be emitted whenever the 
            module contains an "orphan" instance declaration or rewrite rule.
          
          <para>This option causes a warning to be emitted whenever the 
            module contains an "orphan" instance declaration or rewrite rule.
-           An instance declartion is an orphan if it appears in a module in
+           An instance declaration is an orphan if it appears in a module in
            which neither the class nor the type being instanced are declared
            in the same module.  A rule is an orphan if it is a rule for a
            function declared in another module.  A module containing any
            which neither the class nor the type being instanced are declared
            in the same module.  A rule is an orphan if it is a rule for a
            function declared in another module.  A module containing any
@@ -1602,24 +1602,6 @@ f "2"    = 2
 
        <varlistentry>
          <term>
 
        <varlistentry>
          <term>
-            <option>-funfolding-update-in-place=<replaceable>n</replaceable></option>
-            <indexterm><primary><option>-funfolding-update-in-place</option></primary></indexterm>
-          </term>
-         <listitem>
-           <para>Switches on an experimental "optimisation".
-            Switching it on makes the compiler a little keener to
-            inline a function that returns a constructor, if the
-            context is that of a thunk.
-<programlisting>
-   x = plusInt a b
-</programlisting>
-            If we inlined plusInt we might get an opportunity to use
-            update-in-place for the thunk 'x'.</para>
-         </listitem>
-       </varlistentry>
-
-       <varlistentry>
-         <term>
             <option>-funfolding-creation-threshold=<replaceable>n</replaceable></option>:
            <indexterm><primary><option>-funfolding-creation-threshold</option></primary></indexterm>
            <indexterm><primary>inlining, controlling</primary></indexterm>
             <option>-funfolding-creation-threshold=<replaceable>n</replaceable></option>:
            <indexterm><primary><option>-funfolding-creation-threshold</option></primary></indexterm>
            <indexterm><primary>inlining, controlling</primary></indexterm>
@@ -1722,7 +1704,7 @@ f "2"    = 2
       is also possible to obtain performance improvements with parallelism
       on programs that do not use concurrency.  This section describes how to
       use GHC to compile and run parallel programs, in <xref
       is also possible to obtain performance improvements with parallelism
       on programs that do not use concurrency.  This section describes how to
       use GHC to compile and run parallel programs, in <xref
-       linkend="lang-parallel" /> we desribe the language features that affect
+       linkend="lang-parallel" /> we describe the language features that affect
     parallelism.</para>
     
     <sect2 id="parallel-options">
     parallelism.</para>
     
     <sect2 id="parallel-options">