2019-09-12 10:33:56 -07:00
|
|
|
import Data.List (zipWith3)
|
|
|
|
|
import Data.Bool (bool)
|
2013-06-05 21:47:54 +00:00
|
|
|
|
2019-09-12 10:33:56 -07:00
|
|
|
fizzBuzz :: [String]
|
|
|
|
|
fizzBuzz =
|
|
|
|
|
zipWith3
|
|
|
|
|
(\f b n ->
|
|
|
|
|
let fb = f ++ b
|
|
|
|
|
in bool fb n (null fb))
|
|
|
|
|
(cycle $ replicate 2 [] ++ ["fizz"])
|
|
|
|
|
(cycle $ replicate 4 [] ++ ["buzz"])
|
|
|
|
|
(show <$> [1 ..])
|
2013-10-27 22:24:23 +00:00
|
|
|
|
2019-09-12 10:33:56 -07:00
|
|
|
main :: IO ()
|
|
|
|
|
main = mapM_ putStrLn $ take 100 fizzBuzz
|