+ <option>-dverbose-core2core</option>
+ <indexterm><primary><option>-dverbose-core2core</option></primary></indexterm>
+ </term>
+ <term>
+ <option>-dverbose-stg2stg</option>
+ <indexterm><primary><option>-dverbose-stg2stg</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Show the output of the intermediate Core-to-Core and
+ STG-to-STG passes, respectively. (<emphasis>Lots</emphasis>
+ of output!) So: when we're really desperate:</para>
+
+ <screen>
+% ghc -noC -O -ddump-simpl -dverbose-simpl -dcore-lint Foo.hs
+</screen>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-dshow-passes</option>
+ <indexterm><primary><option>-dshow-passes</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Print out each pass name as it happens.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-dfaststring-stats</option>
+ <indexterm><primary><option>-dfaststring-stats</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Show statistics for the usage of fast strings by the
+ compiler.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-dppr-debug</option>
+ <indexterm><primary><option>-dppr-debug</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Debugging output is in one of several
+ “styles.” Take the printing of types, for
+ example. In the “user” style (the default), the
+ compiler's internal ideas about types are presented in
+ Haskell source-level syntax, insofar as possible. In the
+ “debug” style (which is the default for
+ debugging output), the types are printed in with explicit
+ foralls, and variables have their unique-id attached (so you
+ can check for things that look the same but aren't). This
+ flag makes debugging output appear in the more verbose debug
+ style.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-dppr-user-length</option>
+ <indexterm><primary><option>-dppr-user-length</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>In error messages, expressions are printed to a
+ certain “depth”, with subexpressions beyond the
+ depth replaced by ellipses. This flag sets the
+ depth. Its default value is 5.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>