</row>
<row>
<entry><option>-odir</option> <replaceable>dir</replaceable></entry>
- <entry>set output directory</entry>
+ <entry>set directory for object files</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<entry>dynamic</entry>
<entry>-</entry>
</row>
+ <row>
+ <entry><option>-outputdir</option> <replaceable>dir</replaceable></entry>
+ <entry>set output directory</entry>
+ <entry>dynamic</entry>
+ <entry>-</entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
<entry>dynamic</entry>
<entry>-</entry>
</row>
+ <row>
+ <entry><option>-fno-implicit-import-qualified</option></entry>
+ <entry><link linkend="ghci-import-qualified">Turn off
+ implicit qualified import of everything in GHCi</link></entry>
+ <entry>dynamic</entry>
+ <entry>-</entry>
+ </row>
</tbody>
</tgroup>
<sect2>
<title>Language options</title>
- <para><xref linkend="options-language"/></para>
+ <para>Language options can be enabled either by a command-line option
+ <option>-Xblah</option>, or by a <literal>{-# LANGUAGE blah #-}</literal>
+ pragma in the file itself. See <xref linkend="options-language"/></para>
<informaltable>
<tgroup cols="4" align="left" colsep="1" rowsep="1">
<entry><option>-XNoArrows</option></entry>
</row>
<row>
- <entry><option>-fdisambiguate-record-fields</option></entry>
+ <entry><option>-XDisambiguateRecordFields</option></entry>
<entry>Enable <link linkend="disambiguate-fields">record
field disambiguation</link></entry>
<entry>dynamic</entry>
- <entry><option>-fno-disambiguate-record-fields</option></entry>
+ <entry><option>-XNoDisambiguateRecordFields</option></entry>
</row>
<row>
<entry><option>-XForeignFunctionInterface</option></entry>
<entry><option>-XMonomorphismRrestriction</option></entry>
</row>
<row>
+ <entry><option>-XNoNPlusKPatterns</option></entry>
+ <entry>Disable support for <literal>n+k</literal> patterns</entry>
+ <entry>dynamic</entry>
+ <entry><option>-XNPlusKPatterns</option></entry>
+ </row>
+ <row>
<entry><option>-XNoMonoPatBinds</option></entry>
<entry>Make <link linkend="monomorphism">pattern bindings polymorphic</link></entry>
<entry>dynamic</entry>
</row>
<row>
<entry><option>-XUnicodeSyntax</option></entry>
- <entry>Enable unicode syntax.</entry>
+ <entry>Enable <link linkend="unicode-syntax">unicode syntax</link>.</entry>
<entry>dynamic</entry>
<entry><option>-XNoUnicodeSyntax</option></entry>
</row>
<row>
<entry><option>-XMagicHash</option></entry>
- <entry>Enable the “magic hash”.</entry>
+ <entry>Allow "#" as a <link linkend="magic-hash">postfix modifier on identifiers</link>.</entry>
<entry>dynamic</entry>
<entry><option>-XNoMagicHash</option></entry>
</row>
<row>
+ <entry><option>-XNewQualifiedOperators</option></entry>
+ <entry>Enable <link linkend="new-qualified-operators">new
+ qualified operator syntax</link></entry>
+ <entry>dynamic</entry>
+ <entry><option>-XNoNewQualifiedOperators</option></entry>
+ </row>
+ <row>
<entry><option>-XPolymorphicComponents</option></entry>
<entry>Enable <link linkend="universal-quantification">polymorphic components for data constructors</link>.</entry>
<entry>dynamic</entry>
<entry><option>-XNoKindSignatures</option></entry>
</row>
<row>
- <entry><option>-XPatternSignatures</option></entry>
- <entry>Enable <link linkend="pattern-type-sigs">pattern type signatures</link>.</entry>
- <entry>dynamic</entry>
- <entry><option>-XNoPatternSignatures</option></entry>
- </row>
- <row>
<entry><option>-XEmptyDataDecls</option></entry>
<entry>Enable empty data declarations.</entry>
<entry>dynamic</entry>
</row>
<row>
<entry><option>-XTransformListComp</option></entry>
- <entry>Enable <link linkend="generalised-list-comprehensions">transform list comprehensions</link>.</entry>
+ <entry>Enable <link linkend="generalised-list-comprehensions">generalised list comprehensions</link>.</entry>
<entry>dynamic</entry>
<entry><option>-XNoTransformListComp</option></entry>
</row>
</row>
<row>
<entry><option>-XTypeSynonymInstances</option></entry>
- <entry>Enable <link linkend="type-synonyms">type synonyms</link>.</entry>
+ <entry>Enable <link linkend="flexible-instance-head">type synonyms in instance heads</link>.</entry>
<entry>dynamic</entry>
<entry><option>-XNoTypeSynonymInstances</option></entry>
</row>
<entry>dynamic</entry>
<entry><option>-XNoFunctionalDependencies</option></entry>
</row>
+ <row>
+ <entry><option>-XPackageImports</option></entry>
+ <entry>Enable <link linkend="package-imports">package-qualified imports</link>.</entry>
+ <entry>dynamic</entry>
+ <entry><option>-XNoPackageImports</option></entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
</row>
<row>
+ <entry><option>-fwarn-unrecognised-pragmas</option></entry>
+ <entry>warn about uses of pragmas that GHC doesn't recognise</entry>
+ <entry>dynamic</entry>
+ <entry><option>-fno-warn-unrecognised-pragmas</option></entry>
+ </row>
+
+ <row>
<entry><option>-fwarn-warnings-deprecations</option></entry>
<entry>warn about uses of functions & types that have warnings or deprecated pragmas</entry>
<entry>dynamic</entry>
<entry><option>-fno-warn-unused-matches</option></entry>
</row>
+ <row>
+ <entry><option>-fwarn-unused-do-bind</option></entry>
+ <entry>warn about do bindings that appear to throw away values of types other than <literal>()</literal></entry>
+ <entry>dynamic</entry>
+ <entry><option>-fno-warn-unused-do-bind</option></entry>
+ </row>
+
+ <row>
+ <entry><option>-fwarn-wrong-do-bind</option></entry>
+ <entry>warn about do bindings that appear to throw away monadic values that you should have bound instead</entry>
+ <entry>dynamic</entry>
+ <entry><option>-fno-warn-wrong-do-bind</option></entry>
+ </row>
+
</tbody>
</tgroup>
</informaltable>
<entry>static</entry>
<entry>-</entry>
</row>
+
+ <row>
+ <entry><option>-feager-blackholing</option></entry>
+ <entry>Turn on <link linkend="parallel-compile-options">eager blackholing</link></entry>
+ <entry>dynamic</entry>
+ <entry>-</entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
<entry><option>-auto</option></entry>
<entry>Auto-add <literal>_scc_</literal>s to all
exported functions</entry>
- <entry>static</entry>
+ <entry>dynamic</entry>
<entry><option>-no-auto</option></entry>
</row>
<row>
<entry><option>-auto-all</option></entry>
<entry>Auto-add <literal>_scc_</literal>s to all
top-level functions</entry>
- <entry>static</entry>
+ <entry>dynamic</entry>
<entry><option>-no-auto-all</option></entry>
</row>
<row>
<entry><option>-caf-all</option></entry>
<entry>Auto-add <literal>_scc_</literal>s to all CAFs</entry>
- <entry>static</entry>
+ <entry>dynamic</entry>
<entry><option>-no-caf-all</option></entry>
</row>
<row>
</thead>
<tbody>
<row>
+ <entry><option>-shared</option></entry>
+ <entry>Generate a shared library (as opposed to an executable)</entry>
+ <entry>dynamic</entry>
+ <entry>-</entry>
+ </row>
+ <row>
<entry><option>-fPIC</option></entry>
<entry>Generate position-independent code (where available)</entry>
<entry>static</entry>
<entry>-</entry>
</row>
<row>
+ <entry><option>-dynload</option></entry>
+ <entry>Selects one of a number of modes for finding shared
+ libraries at runtime.</entry>
+ <entry>static</entry>
+ <entry>-</entry>
+ </row>
+ <row>
<entry><option>-framework</option> <replaceable>name</replaceable></entry>
<entry>On Darwin/MacOS X only, link in the framework <replaceable>name</replaceable>.
This option corresponds to the <option>-framework</option> option for Apple's Linker.</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
+ <row>
+ <entry><option>-fno-shared-implib</option></entry>
+ <entry>Don't generate an import library for a DLL (Windows only)</entry>
+ <entry>dynamic</entry>
+ <entry>-</entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
<entry>-</entry>
</row>
<row>
- <entry><option>-optdep</option> <replaceable>option</replaceable></entry>
- <entry>pass <replaceable>option</replaceable> to the dependency generator</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-optwindres</option> <replaceable>option</replaceable></entry>
<entry>pass <replaceable>option</replaceable> to <literal>windres</literal>.</entry>
<entry>dynamic</entry>
<row>
<entry><option>-fext-core</option></entry>
<entry>Generate <filename>.hcr</filename> external Core files</entry>
- <entry>static</entry>
+ <entry>dynamic</entry>
<entry>-</entry>
</row>
</tbody>