zipN,zipWithN (N>3)

ListモジュールをインポートすればzipNは9まで使えるようになる。
以下は、FizzBuzzを無限リストとzipWith4で片付けた例。
無限リストの停止条件を最後に持ってきているのと文字列加工を一箇所に集約できている点がhaskellらしさだな。

Prelude> :module List
Prelude List> take 16 $zipWith4(\a b c d->if a++b=="" then (show c)++d else a++b++d)(cycle["","","Fizz"])(cycle["","","","","Buzz"])[1..](repeat "\n")
["1\n","2\n","Fizz\n","4\n","Buzz\n","Fizz\n","7\n","8\n","Fizz\n","Buzz\n","11\n","Fizz\n","13\n","14\n","FizzBuzz\n","16\n"]