・8日目のFizzBuzz
main = mapM_ putStrLn (take 100 fizzBuzz)
fizzBuzz = map fizzBuzzString [1..]
fizzBuzzString x
| x `mod` 15 == 0 = "FizzBuzz"
| x `mod` 5 == 0 = "Buzz"
| x `mod` 3 == 0 = "Fizz"
| otherwise = show x
「HaskellらしいFizzBuzzってどんなだろう?」と考えていて、「『無限に続く文字列のリストから最初の100個を取り出す』なんてどう?」と思い付いたので…。