--read_int function read_int :: IO Integer read_int = do line <- getLine readIO line --is_prime function is_prime :: Integer -> Bool is_prime n = helper n 2 where helper :: Integer -> Integer -> Bool helper n i | n < 2 * i = True | mod n i > 0 = helper n (i+1) | otherwise = False main = do n <- read_int dump 1 n where dump i x = do putStrLn ( show (i) ++ " is a prime? " ++ show (is_prime i) ) if i >= x then putStrLn ("") else do dump (i+1) x