[Haskell] FizzBuzz問題の解答

HaskellFizzBuzz問題を解いてみました。

fizzbuzz :: Int -> Int -> String
fizzbuzz n max 
        | n == max = ""
        | n `mod` 15 == 0 = "FizzBuzz\n" ++ fizzbuzz (n + 1) max
        | n `mod` 3 == 0 = "Fizz\n" ++ fizzbuzz (n + 1) max
        | n `mod` 5 == 0 = "Buzz\n" ++ fizzbuzz (n + 1) max
        | otherwise = (show n) ++ "\n" ++ fizzbuzz (n + 1) max

main = putStr $ fizzbuzz 0 100

他の解答例では、mapを使用するのが一般的のようです。