Peneira Prime em Haskell
Sou muito novo no Haskell e estou apenas tentando encontrar a soma dos primeiros 2 milhões de primos. Estou tentando gerar os primos usando uma peneira (acho que a peneira de Eratóstenes?), Mas é realmente muito lenta e não sei por quê. Aqui está o meu código.
sieve (x:xs) = x:(sieve $ filter (\a -> a `mod` x /= 0) xs)
ans = sum $ takeWhile (<2000000) (sieve [2..])
Desde já, obrigado.