pe2 :: Int -> Int pe2 n = sum [x | x <- takeWhile (< n) fib, even x] where fib = 1 : 2 : [x + y | (x, y) <- zip fib (tail fib)] main :: IO() main = print $ pe2 4000000