RosettaCodeData/Task/Sierpinski-triangle/Haskell/sierpinski-triangle-5.hs
2020-02-17 23:21:07 -08:00

11 lines
263 B
Haskell

sierpinski :: Int -> [String]
sierpinski n =
foldr
(\i xs ->
let s = replicate (2 ^ i) ' '
in fmap ((s ++) . (++ s)) xs ++ fmap ((++) <*> (' ' :)) xs)
["*"]
[n - 1,n - 2 .. 0]
main :: IO ()
main = (putStrLn . unlines. sierpinski) 4