aboutsummaryrefslogtreecommitdiff
path: root/challenge-163/alexander-pankoff/haskell/ch-2.hs
blob: 25828e64d1ebaa5f5e6fcb420deab174079d5805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
module Main where

main :: IO ()
main = print $ summations [1 .. 5]

summations :: [Int] -> Int
summations = untilOneLeft (scanl1 (+) . tail) 0

untilOneLeft :: ([a] -> [a]) -> a -> [a] -> a
untilOneLeft _ d [] = d
untilOneLeft _ _ [a] = a
untilOneLeft aa d as = untilOneLeft aa d (aa as)