module Main fact :: Int -> Int fact 0 = 1 fact n = n * fact (n - 1) printFact :: Int -> IO () printFact n = putStrLn (show n ++ "! = " ++ show (fact n)) main :: IO () main = mapM_ printFact [0..10]