-- prime numbers import Data.List sieve n l [] = l sieve n l (x:u) = sieve n (x:l) (u \\ [i * x | i <- [1..(div n x)]]) primesBelow n = sieve n [] [2..n] -- main = do (print (primesBelow 2000)) main = do (print (sum (primesBelow 4000))) -- print (divisors 600851475143) -- print (allPrimes !! 10000)