RosettaCodeData/Task/Sierpinski-triangle/Haskell/sierpinski-triangle-5.hs
2023-07-01 13:44:08 -04:00

17 lines
356 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