Consistently use <sect1> etc rather than <section>; fixes #5009
[ghc-hetmet.git] / docs / users_guide / using.xml
index 18e9622..06862e7 100644 (file)
@@ -1218,7 +1218,8 @@ foreign import "&amp;f" f :: FunPtr t
 
       <varlistentry>
        <term><option>-fwarn-incomplete-patterns</option>, 
-              <option>-fwarn-incomplete-uni-patterns</option>, 
+              <option>-fwarn-incomplete-uni-patterns</option>:
+        </term> 
        <listitem>
          <indexterm><primary><option>-fwarn-incomplete-patterns</option></primary></indexterm>
          <indexterm><primary><option>-fwarn-incomplete-uni-patterns</option></primary></indexterm>
@@ -1299,6 +1300,39 @@ f foo = foo { x = 6 }
       </varlistentry>
 
       <varlistentry>
+       <term>
+          <option>-fwarn-missing-import-lists</option>:
+         <indexterm><primary><option>-fwarn-import-lists</option></primary></indexterm>
+         <indexterm><primary>missing import lists, warning</primary></indexterm>
+         <indexterm><primary>import lists, missing</primary></indexterm>
+        </term>
+       <listitem>
+
+         <para>This flag warns if you use an unqualified 
+            <literal>import</literal> declaration
+           that does not explicitly list the entities brought into scope. For 
+           example
+      </para>
+<programlisting>
+module M where
+  import X( f )
+  import Y
+  import qualified Z
+  p x = f x x
+</programlisting>
+        <para>
+          The <option>-fwarn-import-lists</option> flag will warn about the import
+         of <literal>Y</literal> but not <literal>X</literal>
+         If module <literal>Y</literal> is later changed to export (say) <literal>f</literal>,
+          then the reference to <literal>f</literal> in <literal>M</literal> will become
+         ambiguous.  No warning is produced for the import of <literal>Z</literal>
+         because extending <literal>Z</literal>'s exports would be unlikely to produce
+         ambiguity in <literal>M</literal>.
+        </para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
        <term><option>-fwarn-missing-methods</option>:</term>
        <listitem>
          <indexterm><primary><option>-fwarn-missing-methods</option></primary></indexterm>
@@ -2111,25 +2145,6 @@ f "2"    = 2
             </para>
           </listitem>
         </varlistentry>
-       <varlistentry>
-         <term><option>-qw</option></term>
-          <indexterm><primary><option>-qw</option></primary><secondary>RTS
-          option</secondary></indexterm>
-         <listitem>
-            <para>Migrate a thread to the current CPU when it is woken
-            up.  Normally when a thread is woken up after being
-            blocked it will be scheduled on the CPU it was running on
-            last; this option allows the thread to immediately migrate
-            to the CPU that unblocked it.</para> 
-            <para>The rationale for allowing this eager migration is
-            that it tends to move threads that are communicating with
-            each other onto the same CPU; however there are
-            pathalogical situations where it turns out to be a poor
-            strategy.  Depending on the communication pattern in your
-            program, it may or may not be a good idea.</para>
-          </listitem>
-        </varlistentry>
        </variablelist>
     </sect2>