module NofibPrimes (primesUpTo) where import System suCC :: Integer -> Integer suCC x = x + 1 isdivs :: Integer -> Integer -> Bool isdivs n x = mod x n /= 0 the_filter :: [Integer] -> [Integer] the_filter (n:ns) = filter (isdivs n) ns primes :: [Integer] primes = map head (iterate the_filter (iterate suCC 2)) primesUpTo n = take (fromIntegral n) primes