(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">