> primes n = sieve (take n [2..]) > sieve (p:xs) = p : sieve [x | x <- xs, x `mod` p > 0] > print (primes 1000) > > -- Vimal But as we can see, this obviously doesn't *take* 1000 primes, :-) -- Vimal