[Haskell-beginners] Average of numeric list
nadavchernin at gmail.com
Tue Apr 5 11:57:32 CEST 2011
How can i know when casting of types maked by compiler and when programmer
must to do it?
On Tue, Apr 5, 2011 at 12:14 PM, Daniel Fischer <
daniel.is.fischer at googlemail.com> wrote:
> On Tuesday 05 April 2011 10:38:37, Nadav Chernin wrote:
> > Why only "length as" we must to cast? Why "sum as", that have type
> > Integer can be used in (/).
> > :t (/)
> > (/) :: (Fractional a) => a -> a -> a
> No, sum as has the type of as's elements,
> sum :: Num a => [a] -> a
> So the use of (/) refines the constraint from (Num a) to (Fractional a).
> if you want it to work on Integers too,
> you'd get
> mean :: (Real a, Fractional b) => [a] -> b
> mean xs = realToFrac (sum xs) / (fromIntegral $ length xs)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners