fibs :: [Int] fibs = list where list = 0 : 1 : zipWith (+) list (tail list) p2 :: Int p2 = sum [x | x <- takeWhile (< 4000000) fibs, mod x 2 == 0] main = putStrLn $ "Solution: " ++ show p2