Haskell で FizzBuzz

自分ならこう書く。

main = mapM_ (putStrLn.toWord) [1..100]

toWord a | mod a 5 == 0 && mod a 3 == 0 = "FizzBuzz"
         | mod a 3 == 0                 = "Fizz"
         | mod a 5 == 0                 = "Buzz"
         | otherwise                    = show a

(putStrLn.toWord) で関数合成して mapM_ を適用と。ちなみに mapM_ の型は

mapM_ :: (Monad m) => (a -> m b) -> [a] -> m ()