RosettaCodeData/Task/Averages-Arithmetic-mean/Haskell/averages-arithmetic-mean-3.hs

20 lines
305 B
Haskell
Raw Permalink Normal View History

2013-04-10 14:58:50 -07:00
{-# LANGUAGE BangPatterns #-}
2017-09-23 10:01:46 +02:00
import Data.List (foldl') --'
mean
:: (Real n, Fractional m)
=> [n] -> m
mean xs =
let (s, l) =
foldl' --'
f
(0, 0)
xs
in realToFrac s / l
where
f (!s, !l) x = (s + x, l + 1)
main :: IO ()
main = print $ mean [1 .. 100]