Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread aditya siram
What compiler errors are you getting? -deech On Fri, Jul 1, 2011 at 12:55 AM, Ruohao Li liruo...@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) =

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Ruohao Li
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

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Nathan Howell
(/) 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

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Ruohao Li
For mean xs = sum xs / fromIntegral (length xs), I got the following: test.hs:8:10: Could not deduce (Fractional a) from the context (Num a, Fractional b) arising from a use of `/' at test.hs:8:10-42 Possible fix: add (Fractional a) to the context of the type signature

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Jack Henahan
Additionally, this SO question[0] is nearly identical, and provides a little more elaboration. [0]:http://stackoverflow.com/questions/2376981/haskell-types-frustrating-a-simple-average-function On Jul 1, 2011, at 2:07 AM, Ruohao Li wrote: For mean xs = sum xs / length xs, I got the following:

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Lyndon Maydwell
The problem is that you need to convert (length xs) to a Num, then return a Fractional. On Fri, Jul 1, 2011 at 2:07 PM, Nathan Howell nathan.d.how...@gmail.com wrote: (/) operates on a Fractional instance... butĀ length returns an Int, which is not a Fractional. You can convert the Int to a

Re: [Haskell-cafe] How to implement the mean function

2011-07-01 Thread Ruohao Li
Thanks for the SO link, change the Num a constraint to Real a and using realToFrac then it just works. On Fri, Jul 1, 2011 at 2:11 PM, Jack Henahan jhena...@uvm.edu wrote: Additionally, this SO question[0] is nearly identical, and provides a little more elaboration. [0]:

[Haskell-cafe] How to implement the mean function

2011-06-30 Thread Ruohao Li
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