Extended the debugger documentation with a 'tips' section
[ghc-hetmet.git] / docs / users_guide / separate_compilation.xml
index c33ff21..d0f83a3 100644 (file)
          has been specified, then the object filename is
          <replaceable>dir</replaceable>/<replaceable>mod</replaceable>.<replaceable>osuf</replaceable>,
          where <replaceable>mod</replaceable> is the module name with
-         dots replaced by slashes.</para>
+         dots replaced by slashes.  GHC will silently create the necessary directory 
+          structure underneath <replaceable>dir</replaceable>, if it does not
+          already exist.</para> 
        </listitem>
       </itemizedlist>
 
@@ -603,9 +605,9 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
       <variablelist>
        <varlistentry>
          <term>
-            <option>-no-recomp</option>
-            <indexterm><primary><option>-recomp</option></primary></indexterm>
-            <indexterm><primary><option>-no-recomp</option></primary></indexterm>
+            <option>-fforce-recomp</option>
+            <indexterm><primary><option>-fforce-recomp</option></primary></indexterm>
+            <indexterm><primary><option>-fno-force-recomp</option></primary></indexterm>
           </term>
          <listitem>
            <para>Turn off recompilation checking (which is on by
@@ -816,12 +818,14 @@ can be given abstractly, by omitting the '=' sign and everything that follows.
 <programlisting>
   data R (x :: * -&#62; *) y
 </programlisting>
+You cannot use <literal>deriving</literal> on a data type declaration; write in
+<literal>instance</literal> declaration instead.
 </para></listitem>
 <listitem><para> Class declarations is exactly as in Haskell, except that you may not put
-default method declarations.  You can also omit all the class methods entirely.
+default method declarations.  You can also omit all the superclasses and class
+methods entirely; but you must either omit them all or put them all in.
 </para></listitem>
-<listitem><para> Do not include instance declarations. There is a complication to do with
-how the dictionary functions are named.  It may well work, but it's not a well-tested feature.
+<listitem><para> You can include instance declarations just as in Haskell; but omit the "where" part.
  </para></listitem>
 </itemizedlist>
 </para>