Replies: /wad/

23:26 - Tue 2012.02.07

len :: [a] -> Int
len [] = 0
len (_:xs) = 1 + len xs

sum' :: Num a => [a] -> a
sum' [] = 0
sum' (x:xs) = x + sum' xs

avrg :: (Num a, Integral a, Fractional b) => [a] -> b
avrg l = fromIntegral (sum' l) / fromIntegral (len l)