For mean xs = sum xs / length xs, I got the following:

test.hs:8:10:
    No instance for (Fractional Int)
      arising from a use of `/' at test.hs:8:10-27
    Possible fix: add an instance declaration for (Fractional Int)
    In the expression: sum xs / length xs
    In the definition of `mean': mean xs = sum xs / length xs

test.hs:8:10:
    Couldn't match expected type `b' against inferred type `Int'
      `b' is a rigid type variable bound by
          the type signature for `mean' at test.hs:7:27
    In the expression: sum xs / length xs
    In the definition of `mean': mean xs = sum xs / length xs

test.hs:8:19:
    Couldn't match expected type `a' against inferred type `Int'
      `a' is a rigid type variable bound by
          the type signature for `mean' at test.hs:7:13
    In the second argument of `(/)', namely `length xs'
    In the expression: sum xs / length xs
    In the definition of `mean': mean xs = sum xs / length xs
On Fri, Jul 1, 2011 at 2:00 PM, aditya siram <aditya.siram@gmail.com> wrote:
What compiler errors are you getting?
-deech

On Fri, Jul 1, 2011 at 12:55 AM, Ruohao Li <liruohao@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@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>