Improve documentation of instances
[ghc-hetmet.git] / docs / users_guide / parallel.xml
index 7792ea6..d971980 100644 (file)
@@ -83,7 +83,7 @@ All these features are described in the papers mentioned earlier.
   By default GHC runs your program on one processor; if you
      want it to run in parallel you must link your program
       with the <option>-threaded</option>, and run it with the RTS
   By default GHC runs your program on one processor; if you
      want it to run in parallel you must link your program
       with the <option>-threaded</option>, and run it with the RTS
-      <option>-N</option> option; see  <xref linkend="sec-using-smp" />).
+      <option>-N</option> option; see  <xref linkend="using-smp" />).
       The runtime will
       schedule the running Haskell threads among the available OS
       threads, running as many in parallel as you specified with the
       The runtime will
       schedule the running Haskell threads among the available OS
       threads, running as many in parallel as you specified with the
@@ -136,7 +136,7 @@ import Control.Parallel
 
 nfib :: Int -&#62; Int
 nfib n | n &#60;= 1 = 1
 
 nfib :: Int -&#62; Int
 nfib n | n &#60;= 1 = 1
-       | otherwise = par n1 (seq n2 (n1 + n2))
+       | otherwise = par n1 (seq n2 (n1 + n2 + 1))
                      where n1 = nfib (n-1)
                            n2 = nfib (n-2)</programlisting>
 
                      where n1 = nfib (n-1)
                            n2 = nfib (n-2)</programlisting>
 
@@ -149,8 +149,8 @@ nfib n | n &#60;= 1 = 1
       (leaving the parent to evaluate the other branch).  Also, we must use
       <function>seq</function> to ensure that the parent will evaluate
       <varname>n2</varname> <emphasis>before</emphasis> <varname>n1</varname>
       (leaving the parent to evaluate the other branch).  Also, we must use
       <function>seq</function> to ensure that the parent will evaluate
       <varname>n2</varname> <emphasis>before</emphasis> <varname>n1</varname>
-      in the expression <literal>(n1 + n2)</literal>.  It is not sufficient
-      to reorder the expression as <literal>(n2 + n1)</literal>, because
+      in the expression <literal>(n1 + n2 + 1)</literal>.  It is not sufficient
+      to reorder the expression as <literal>(n2 + n1 + 1)</literal>, because
       the compiler may not generate code to evaluate the addends from left to
       right.</para>
 
       the compiler may not generate code to evaluate the addends from left to
       right.</para>