2 ms·
The Haskell code can be slightly simplified to nth :: Integral a => Int -> Maybe a nth n | n < 1 = Nothing | True = Just (primes !! (n-1))
by tromp 7y ago
The Haskell code can be slightly simplified to
nth :: Integral a => Int -> Maybe a
nth n | n < 1 = Nothing
| True = Just (primes !! (n-1))
primes :: Integral a => [a]
primes = sieve [2..]
where sieve (p:xs) = p : sieve [x | x <- xs, x `mod` p /= 0]
Note that this is not a genuine sieve [1]
[1] https://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf https://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf