Hello,
> For example, the natural and naive way to write
Andrew's "mean" function
> doesn't involve tuples at all: simply tail recurse with two accumulator
> parameters, and compute the mean at the end. GHC's strictness
analyser
> does the right thing with this, so there's no need for seq, $!, or
the
> like. It's about 3 lines of code.
>
Is this the code you mean?
meanNat = go 0 0 where
go s n [] = s / n
go s n (x:xs) = go (s+x)
(n+1) xs
If so, bang patterns are still required bang patterns in ghc-6.8.2 to run
in constant memory:
meanNat = go 0 0 where
go s n [] = s / n
go !s !n (x:xs) = go (s+x)
(n+1) xs
Is there some other way to write it so that ghc will
essentially insert the bangs for me?
-Jeff
---
This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.