[project @ 2005-03-07 13:18:19 by simonmar]
[ghc-hetmet.git] / ghc / docs / users_guide / flags.xml
index 895e993..e24226d 100644 (file)
@@ -8,7 +8,9 @@
     (if available).</para>
 
     <sect2>
-      <title>Help and verbosity options (<xref linkend="options-help"/>)</title>
+      <title>Help and verbosity options</title>
+
+      <para><xref linkend="options-help"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
              <entry>static</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-ferror-spans</option></entry>
+             <entry>output full span in error messages</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
 
     </sect2>
     <sect2>
-      <title>Which phases to run (<xref linkend="options-order"/>)</title>
+      <title>Which phases to run</title>
       
+      <para><xref linkend="options-order"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
       </informaltable>
     </sect2>
 
+     <sect2>
+      <title>Alternative modes of operation</title>
+      
+      <para><xref linkend="modes"/></para>
+
+      <informaltable>
+       <tgroup cols="3" align="left" colsep="1" rowsep="1">
+         <thead>
+           <row>
+             <entry>Flag</entry>
+             <entry>Description</entry>
+             <entry>Static/Dynamic</entry>
+             <entry>Reverse</entry>
+           </row>
+         </thead>
+         <tbody>
+           <row>
+             <entry><option>--interactive</option></entry>
+             <entry>Interactive mode - normally used by just running <command>ghci</command></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>--make</option></entry>
+             <entry>Build a multi-module Haskell program, automatically figuring out dependencies. Likely to be much easier, and faster, than using <command>make</command>.</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-e <replaceable>expr</replaceable></option></entry>
+             <entry>Evaluate <replaceable>expr</replaceable></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-M</option></entry>
+             <entry>Generate dependency information suitable for use in a <filename>Makefile</filename>.</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>--mk-dll</option></entry>
+             <entry>DLL-creation mode (Windows only)</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+         </tbody>
+       </tgroup>
+      </informaltable>
+    </sect2>
+
     <sect2>
-      <title>Redirecting output (<xref linkend="options-output"/>)</title>
+      <title>Redirecting output</title>
       
+      <para><xref linkend="options-output"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
     </sect2>
 
     <sect2>
-      <title>Keeping intermediate files (<xref linkend="keeping-intermediates"/>)</title>
+      <title>Keeping intermediate files</title>
+      
+      <para><xref linkend="keeping-intermediates"/></para>
       
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Temporary files (<xref linkend="temp-files"/>)</title>
+      <title>Temporary files</title>
       
+      <para><xref linkend="temp-files"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
     </sect2>
 
     <sect2>
-      <title>Finding imports (<xref linkend="search-path"/>)</title>
+      <title>Finding imports</title>
+
+      <para><xref linkend="search-path"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Interface file options (<xref linkend="hi-options"/>)</title>
+      <title>Interface file options</title>
+
+      <para><xref linkend="hi-options"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
     
     <sect2>
-      <title>Recompilation checking (<xref linkend="recomp"/>)</title>
+      <title>Recompilation checking</title>
+
+      <para><xref linkend="recomp"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <tbody>
            <row>
              <entry><option>-no-recomp</option></entry>
-             <entry>Turn off recompilation checking</entry>
-             <entry>static</entry>
+             <entry>Turn off recompilation checking; implied by any
+             <option>-ddump-X</option> option</entry>
+             <entry>dynamic</entry>
              <entry><option>-recomp</option></entry>
            </row>
          </tbody>
     </sect2>
 
     <sect2>
-      <title>Interactive-mode options (<xref linkend="ghci-dot-files"/>)</title>
+      <title>Interactive-mode options</title>
       
+      <para><xref linkend="ghci-dot-files"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
     </sect2>
 
     <sect2>
-      <title>Packages (<xref linkend="packages"/>)</title>
+      <title>Packages</title>
+
+      <para><xref linkend="packages"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
          </thead>
          <tbody>
            <row>
-             <entry><option>-package</option> <replaceable>name</replaceable></entry>
-             <entry>Use package <replaceable>name</replaceable></entry>
+             <entry><option>-package</option> <replaceable>P</replaceable></entry>
+             <entry>Expose package <replaceable>P</replaceable></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-hide-package</option> <replaceable>name</replaceable></entry>
+             <entry>Hide package <replaceable>P</replaceable></entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
+             <entry><option>-ignore-package</option> <replaceable>name</replaceable></entry>
+             <entry>Ignore package <replaceable>P</replaceable></entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-package-name</option> <replaceable>name</replaceable></entry>
-             <entry>Compile code for package <replaceable>name</replaceable></entry>
+             <entry><option>-no-user-package-conf</option></entry>
+             <entry>Don't load the user's package config file.</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
     </sect2>
 
     <sect2>
-      <title>Language options (<xref linkend="options-language"/>)</title>
+      <title>Language options</title>
+
+      <para><xref linkend="options-language"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
              <entry><option>-fno-allow-overlapping-instances</option></entry>
            </row>
            <row>
-             <entry><option>-farrows</option></entry>
-             <entry>Enable arrow notation extension</entry>
-             <entry>dynamic</entry>
-             <entry><option>-fno-arrows</option></entry>
-           </row>
-           <row>
              <entry><option>-fallow-undecidable-instances</option></entry>
              <entry>Enable undecidable instances</entry>
              <entry>dynamic</entry>
              <entry><option>-fno-allow-undecidable-instances</option></entry>
            </row>
            <row>
+             <entry><option>-fallow-incoherent-instances</option></entry>
+             <entry>Enable incoherent instances</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-allow-incoherent-instances</option></entry>
+           </row>
+           <row>
+             <entry><option>-farrows</option></entry>
+             <entry>Enable arrow notation extension</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-arrows</option></entry>
+           </row>
+           <row>
              <entry><option>-fcontext-stack</option><replaceable>n</replaceable></entry>
              <entry>set the limit for context reduction</entry>
              <entry>static</entry>
            </row>
            <row>
              <entry><option>-fimplicit-params</option></entry>
-             <entry>Enable Implicit Parameters</entry>
+             <entry>Enable Implicit Parameters.
+             Implied by <option>-fglasgow-exts</option>.</entry>
              <entry>dynamic</entry>
              <entry><option>-fno-implicit-params</option></entry>
            </row>
              <entry><option>-fno-implicit-prelude</option></entry>
              <entry>Don't implicitly <literal>import Prelude</literal></entry>
              <entry>dynamic</entry>
-             <entry>-</entry>
+             <entry><option>-fimplicit-prelude</option></entry>
            </row>
            <row>
              <entry><option>-fno-monomorphism-restriction</option></entry>
              <entry>Disable the monomorphism restriction</entry>
              <entry>dynamic</entry>
-             <entry><option>-</option></entry>
+             <entry><option>-fmonomorphism-restriction</option></entry>
+           </row>
+           <row>
+             <entry><option>-fscoped-type-variables</option></entry>
+             <entry>Enable lexically-scoped type variables.
+             Implied by <option>-fglasgow-exts</option>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-scoped-type-variables</option></entry>
            </row>
            <row>
              <entry><option>-fth</option></entry>
-             <entry>Enable Template Haskell</entry>
+             <entry>Enable Template Haskell. 
+               Implied by <option>-fglasgow-exts</option>.</entry>
              <entry>dynamic</entry>
              <entry><option>-fno-th</option></entry>
            </row>
     </sect2>
 
     <sect2>
-      <title>Warnings (<xref linkend="options-sanity"/>)</title>
+      <title>Warnings</title>
       
+      <para>(<xref linkend="options-sanity"/></para>
+
     <informaltable>
       <tgroup cols="3" align="left" colsep="1" rowsep="1">
        <thead>
          </row>
 
          <row>
+           <entry><option>-fwarn-incomplete-record-updates</option></entry>
+           <entry>warn when a record update could fail</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-incomplete-record-updates</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-misc</option></entry>
            <entry>enable miscellaneous warnings</entry>
            <entry>dynamic</entry>
          </row>
 
          <row>
+           <entry><option>-fwarn-oprhans</option></entry>
+           <entry>warn when the module contains "orphan" instance declarations
+           or rewrite rules</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-orphans</option></entry>
+         </row>
+
+         <row>
            <entry><option>-fwarn-overlapping-patterns</option></entry>
            <entry>warn about overlapping patterns</entry>
            <entry>dynamic</entry>
 
     </sect2>
     <sect2>
-      <title>Optimisation levels (<xref linkend="options-optimise"/>)</title>
+      <title>Optimisation levels</title>
+
+      <para><xref linkend="options-optimise"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
              
     </sect2>
     <sect2>
-      <title>Individual optimisations (<xref linkend="options-f"/>)</title>
+      <title>Individual optimisations</title>
+
+      <para><xref linkend="options-f"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Profiling options (<xref linkend="profiling"/>)</title>
+      <title>Profiling options</title>
+      
+      <para><xref linkend="profiling"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Parallelism options (<xref linkend="sec-using-parallel"/>)</title>
+      <title>Parallelism options</title>
+
+      <para><xref linkend="sec-using-parallel"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>C pre-processor options (<xref linkend="c-pre-processor"/>)</title>
+      <title>C pre-processor options</title>
+
+      <para><xref linkend="c-pre-processor"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>C compiler options (<xref linkend="options-C-compiler"/>)</title>
+      <title>C compiler options</title>
+
+      <para><xref linkend="options-C-compiler"/></para>
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
     </sect2>
 
     <sect2>
-      <title>Code generation options (<xref linkend="options-codegen"/>)</title>
+      <title>Code generation options</title>
+
+      <para><xref linkend="options-codegen"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Linking options (<xref linkend="options-linker"/>)</title>
+      <title>Linking options</title>
+
+      <para><xref linkend="options-linker"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
            </row>
            <row>
              <entry><option>-no-hs-main</option></entry>
-             <entry>Don't asssume this program contains <literal>main</literal></entry>
+             <entry>Don't assume this program contains <literal>main</literal></entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
     </sect2>
 
     <sect2>
-      <title>Replacing phases (<xref linkend="replacing-phases"/>)</title>
+      <title>Replacing phases</title>
+
+      <para><xref linkend="replacing-phases"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Forcing options to particular phases (<xref linkend="forcing-options-through"/>)</title>
+      <title>Forcing options to particular phases</title>
+
+      <para><xref linkend="forcing-options-through"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
     </sect2>
 
     <sect2>
-      <title>Platform-specific options (<xref linkend="options-platform"/>)</title>
+      <title>Platform-specific options</title>
       
+      <para><xref linkend="options-platform"/></para>
+
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <thead>
 
          
     <sect2>
-      <title>External core file options (<xref linkend="ext-core"/>)</title>
+      <title>External core file options</title>
+
+      <para><xref linkend="ext-core"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
        
 
     <sect2>
-      <title>Compiler debugging options (<xref linkend="options-debugging"/>)</title>
+      <title>Compiler debugging options</title>
+
+      <para><xref linkend="options-debugging"/></para>
 
       <informaltable>
        <tgroup cols="3" align="left" colsep="1" rowsep="1">