Sierpinski triangle: Difference between revisions

Content added Content deleted
m (→‎{{header|Haskell}}: Tidied with Ormolu, preferred <> to ++)
Line 2,137: Line 2,137:
rule90 = scanl next "*" . enumFromTo 1 . subtract 1
rule90 = scanl next "*" . enumFromTo 1 . subtract 1
where
where
next = const . ((zipWith xor . (' ' :)) <*> (++ " "))
next =
const
. ( (zipWith xor . (' ' :))
<*> (<> " ")
)
xor l r
xor l r
| l == r = ' '
| l == r = ' '
| otherwise = '*'
| otherwise = '*'
spacing x (s, w) = (concat [w, intersperse ' ' x, "\n", s], w ++ " ")
spacing x (s, w) =
( concat
[w, intersperse ' ' x, "\n", s],
w <> " "
)


main :: IO ()
main :: IO ()