[Haskell-cafe] How to implement the mean function
Nathan Howell
nathan.d.howell at gmail.com
Fri Jul 1 08:07:34 CEST 2011
(/) operates on a Fractional instance... but length returns an Int, which is
not a Fractional.
You can convert the Int to a Fractional instance:
mean xs = sum xs / fromIntegral (length xs)
or try an integer division:
mean xs = sum xs `div` length xs
-n
On Thu, Jun 30, 2011 at 10:55 PM, Ruohao Li <liruohao at gmail.com> wrote:
> Hi guys,
>
> I just started learning some Haskell. I want to implement a mean function
> to compute the mean of a list. The signature of the function is:
> mean :: (Num a, Fractional b) => [a] -> b
> But when I implement this simple function, the compiler keep whining at me
> on type errors. I know this is wrong:
> mean xs = sum xs / length xs
> But how to get it right? Thanks.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110630/c06f1c9b/attachment.htm>
More information about the Haskell-Cafe
mailing list