<listitem>
<para>
<literal>GHC.Exts</literal> now provides a function
- <literal>lazy</literal> which forces GHC to think that its
- argument is lazy in its first argument.
+ <literal>lazy</literal>, where <literal>lazy f</literal>
+ behaves like <literal>f</literal>, except GHC is forced
+ to believe that it is lazy in its first argument.
For more details, see <xref linkend="special-ids" />.
</para>
</listitem>
<varlistentry>
<term>
- <option>-ddump-usagesp</option>:
- <indexterm><primary><option>-ddump-usagesp</option></primary></indexterm>
- </term>
- <listitem>
- <para>UsageSP inference pre-inf and output</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-ddump-cpranal</option>:
<indexterm><primary><option>-ddump-cpranal</option></primary></indexterm>
</term>
<varlistentry>
<term>
- <option>-ddump-sat</option>:
- <indexterm><primary><option>-ddump-sat</option></primary></indexterm>
- </term>
- <listitem>
- <para>output of “saturate” pass</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-ddump-stg</option>:
<indexterm><primary><option>-ddump-stg</option></primary></indexterm>
</term>
<varlistentry>
<term>
- <option>-ddump-absC</option>:
- <indexterm><primary><option>-ddump-absC</option></primary></indexterm>
- </term>
- <listitem>
- <para><emphasis>un</emphasis>flattened Abstract C</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-ddump-flatC</option>:
<indexterm><primary><option>-ddump-flatC</option></primary></indexterm>
</term>
<varlistentry>
<term>
- <option>-ddump-realC</option>:
- <indexterm><primary><option>-ddump-realC</option></primary></indexterm>
- </term>
- <listitem>
- <para>same as what goes to the C compiler</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <option>-ddump-stix</option>:
- <indexterm><primary><option>-ddump-stix</option></primary></indexterm>
- </term>
- <listitem>
- <para>native-code generator intermediate form</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-ddump-asm</option>:
<indexterm><primary><option>-ddump-asm</option></primary></indexterm>
</term>
</listitem>
</varlistentry>
- <varlistentry>
- <term>
- <option>-dusagesp-lint</option>:
- <indexterm><primary><option>-dstg-lint</option></primary></indexterm>
- </term>
- <listitem>
- <para>Turn on checks around UsageSP inference
- (<option>-fusagesp</option>). This verifies various simple
- properties of the results of the inference, and also warns
- if any identifier with a used-once annotation before the
- inference has a used-many annotation afterwards; this could
- indicate a non-worksafe transformation is being
- applied.</para>
- </listitem>
- </varlistentry>
</variablelist>
</sect2>
</row>
<row>
- <entry><option>-fwarn-misc</option></entry>
- <entry>enable miscellaneous warnings</entry>
- <entry>dynamic</entry>
- <entry><option>-fno-warn-misc</option></entry>
- </row>
-
- <row>
<entry><option>-fwarn-missing-fields</option></entry>
<entry>warn when fields of a record are uninitialised</entry>
<entry>dynamic</entry>
<entry><option>-no-auto-all</option></entry>
</row>
<row>
- <entry><option>-auto-dicts</option></entry>
- <entry>Auto-add <literal>_scc_</literal>s to all dictionaries</entry>
- <entry>static</entry>
- <entry><option>-no-auto-dicts</option></entry>
- </row>
- <row>
<entry><option>-caf-all</option></entry>
<entry>Auto-add <literal>_scc_</literal>s to all CAFs</entry>
<entry>static</entry>
</thead>
<tbody>
<row>
- <entry><option>-mv8</option></entry>
- <entry>(SPARC only) enable version 8 support</entry>
- <entry>static</entry>
- <entry>-</entry>
- </row>
- <row>
- <entry><option>-monly-[32]-regs</option></entry>
+ <entry><option>-monly-[432]-regs</option></entry>
<entry>(x86 only) give some registers back to the C compiler</entry>
<entry>dynamic</entry>
<entry>-</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-ddump-absC</option></entry>
- <entry>Dump abstract C</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-ddump-asm</option></entry>
<entry>Dump assembly</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-ddump-realC</option></entry>
- <entry>Dump “real” C</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-ddump-rn</option></entry>
<entry>Dump renamer output</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-ddump-sat</option></entry>
- <entry>Dump saturated output</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-ddump-simpl</option></entry>
<entry>Dump final simplifier output</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-ddump-usagesp</option></entry>
- <entry>Dump UsageSP analysis output</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-ddump-worker-wrapper</option></entry>
<entry>Dump worker-wrapper output</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-ddump-stix</option></entry>
- <entry>Native code generator intermediate form</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-ddump-simpl-stats</option></entry>
<entry>Dump simplifier stats</entry>
<entry>dynamic</entry>
<entry>-</entry>
</row>
<row>
- <entry><option>-dusagesp-lint</option></entry>
- <entry>UsageSP sanity checker</entry>
- <entry>dynamic</entry>
- <entry>-</entry>
- </row>
- <row>
<entry><option>-dverbose-core2core</option></entry>
<entry>Show output from each core-to-core pass</entry>
<entry>dynamic</entry>
</term>
<listitem>
<para>This option enables the language extension defined in the
- Haskell 98 Foreign Function Interface Addendum plus deprecated
- syntax of previous versions of the FFI for backwards
- compatibility.</para>
+ Haskell 98 Foreign Function Interface Addendum.</para>
<para>New reserved words: <literal>foreign</literal>.</para>
</listitem>
<varlistentry>
<term>
- <option>-fno-monomorphism-restriction</option>,<option>-fno-monomorphism-restriction</option>:
+ <option>-fno-monomorphism-restriction</option>,<option>-fno-mono-pat-binds</option>:
</term>
<listitem>
<para> These two flags control how generalisation is done.
<para>Provides the standard warnings plus
<option>-fwarn-incomplete-patterns</option>,
<option>-fwarn-unused-matches</option>,
- <option>-fwarn-unused-imports</option>,
- <option>-fwarn-misc</option>, and
+ <option>-fwarn-unused-imports</option>, and
<option>-fwarn-unused-binds</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- <option>-fwarn-misc</option>:
- <indexterm><primary><option>-fwarn-misc</option></primary></indexterm>
- </term>
- <listitem>
- <para>Turns on warnings for various harmless but untidy
- things. This currently includes: importing a type with
- <literal>(..)</literal> when the export is abstract, and
- listing duplicate class assertions in a qualified type.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-fwarn-missing-fields</option>:
<indexterm><primary><option>-fwarn-missing-fields</option></primary></indexterm>
<indexterm><primary>missing fields, warning</primary></indexterm>
<variablelist>
<varlistentry>
- <term><option>-mv8</option>:</term>
- <listitem>
- <para>(SPARC machines)<indexterm><primary>-mv8 option (SPARC
- only)</primary></indexterm> Means to pass the like-named
- option to GCC; it says to use the Version 8 SPARC
- instructions, notably integer multiply and divide. The
- similar <option>-m*</option> GCC options for SPARC also
- work, actually.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><option>-monly-[32]-regs</option>:</term>
<listitem>
<para>(iX86 machines)<indexterm><primary>-monly-N-regs