Having contraints like 'Fractional Int => IO ()'
Ashley Yakeley
ashley@semantic.org
Tue, 13 Nov 2001 01:51:14 -0800
At 2001-11-12 18:06, Jesper Louis Andersen wrote:
>mean :: (Fractional a) => [a] -> a
>mean l = (sum l)/ fromIntegral (length l)
>
>Which imposes a type constraint (of course). My problem is, that i
>cannot ``let go'' of this constraint.
...
>main :: Fractional Int => IO ()
It sounds like you're trying to use your 'mean' function on Ints. Int is
not a Fractional type (unless you make it one), and so '/' isn't defined
on it.
What's "mean [3::Int,4::Int]"? It can't be "3.5::Int" because 3.5 is not
an integer and so not an Int.
--
Ashley Yakeley, Seattle WA