import Control.DeepSeq (deepseq) mysum (accsum, acclen) [] = (accsum, acclen) mysum (accsum, acclen) (x:xs) = p `seq` (mysum p xs) where p = (accsum + x, acclen + 1) main = putStrLn $ show $ mysum (0, 0) (take 100000 [1..])