From: Simon Marlow Date: Thu, 12 Oct 2006 11:07:11 +0000 (+0000) Subject: fix definition of fib in example code X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=fcf6ab7b3dfe389e971059bbf21dfa8179b20f5e fix definition of fib in example code --- diff --git a/docs/users_guide/parallel.xml b/docs/users_guide/parallel.xml index 3d14622..7792ea6 100644 --- a/docs/users_guide/parallel.xml +++ b/docs/users_guide/parallel.xml @@ -136,7 +136,7 @@ import Control.Parallel nfib :: Int -> Int nfib n | n <= 1 = 1 - | otherwise = par n1 (seq n2 (n1 + n2 + 1)) + | otherwise = par n1 (seq n2 (n1 + n2)) where n1 = nfib (n-1) n2 = nfib (n-2) @@ -149,8 +149,8 @@ nfib n | n <= 1 = 1 (leaving the parent to evaluate the other branch). Also, we must use seq to ensure that the parent will evaluate n2 before n1 - in the expression (n1 + n2 + 1). It is not sufficient - to reorder the expression as (n2 + n1 + 1), because + in the expression (n1 + n2). It is not sufficient + to reorder the expression as (n2 + n1), because the compiler may not generate code to evaluate the addends from left to right.