module Data.List.Primes where

import Data.Map ()

primes :: [Integer]
primes = sieve [2..]
    where sieve (p:xs) = p : sieve [ x | x <- xs, x `mod` p > 0 ]