Rework the GHCi debugger docs
[ghc-hetmet.git] / docs / users_guide / using.xml
index a9ad528..544a6e8 100644 (file)
@@ -848,6 +848,7 @@ ghc -c Foo.hs</screen>
             <listitem><option>-fwarn-tabs</option></listitem>
             <listitem><option>-fwarn-incomplete-record-updates</option></listitem>
             <listitem><option>-fwarn-monomorphism-restriction</option></listitem>
+            <listitem><option>-fwarn-implicit-prelude</option></listitem>
           </itemizedlist>
        </listitem>
       </varlistentry>
@@ -914,6 +915,31 @@ ghc -c Foo.hs</screen>
       </varlistentry>
 
       <varlistentry>
+        <term><option>-fwarn-implicit-prelude</option>:</term>
+        <listitem>
+          <indexterm><primary><option>-fwarn-implicit-prelude</option></primary></indexterm>
+          <indexterm><primary>implicit prelude, warning</primary></indexterm>
+          <para>Have the compiler warn if the Prelude is implicitly
+          imported.  This happens unless either the Prelude module is
+          explicitly imported with an <literal>import ... Prelude ...</literal>
+          line, or this implicit import is disabled (either by
+          <option>-fno-implicit-prelude</option> or a
+          <literal>LANGUAGE NoImplicitPrelude</literal> pragma).</para>
+
+          <para>Note that no warning is given for syntax that implicitly
+          refers to the Prelude, even if <option>-fno-implicit-prelude</option>
+          would change whether it refers to the Prelude.
+          For example, no warning is given when
+          <literal>368</literal> means
+          <literal>Prelude.fromInteger (368::Prelude.Integer)</literal>
+          (where <literal>Prelude</literal> refers to the actual Prelude module,
+          regardless of the imports of the module being compiled).</para>
+
+          <para>This warning is off by default.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
        <term><option>-fwarn-incomplete-patterns</option>:</term>
        <listitem>
          <indexterm><primary><option>-fwarn-incomplete-patterns</option></primary></indexterm>
@@ -1034,7 +1060,7 @@ f foo = foo { x = 6 }
           in the inadvertent cyclic definition <literal>let x = ... x
           ... in</literal>.</para>
 
-         <para>Consequently, this option does
+         <para>Consequently, this option
           <emphasis>will</emphasis> complain about cyclic recursive
           definitions.</para>
        </listitem>
@@ -1154,7 +1180,7 @@ f "2"    = 2
          the MR can give rise to unexpected behaviour, so it can be helpful
          to have an explicit warning that it is being applied.</para>
 
-         <para>This warning is on by default.</para>
+         <para>This warning is off by default.</para>
        </listitem>
       </varlistentry>