RosettaCodeData/Task/Averages-Arithmetic-mean/Haskell/averages-arithmetic-mean-3.hs
2023-07-01 13:44:08 -04:00

19 lines
305 B
Haskell

{-# LANGUAGE BangPatterns #-}
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]