let sierpinski =
let rec loop down space = function
0 -> down
| n ->
loop (List.map (fun x -> space + x + space) down
@ List.map (fun x -> x + " " + x) down)
(space + space)
(n - 1)
loop ["*"] " "
sierpinski 4
|> List.iter (printfn "%s")
bGV0IHNpZXJwaW5za2kgPQogIGxldCByZWMgbG9vcCBkb3duIHNwYWNlID0gZnVuY3Rpb24KICAgIDAgLT4gZG93bgogIHwgbiAtPgogICAgbG9vcCAoTGlzdC5tYXAgKGZ1biB4IC0+IHNwYWNlICsgeCArIHNwYWNlKSBkb3duCiAgICAgICAgICBAIExpc3QubWFwIChmdW4geCAtPiB4ICsgIiAiICsgeCkgZG93bikKICAgICAgICAgKHNwYWNlICsgc3BhY2UpCiAgICAgICAgIChuIC0gMSkKICBsb29wIFsiKiJdICIgIgoKc2llcnBpbnNraSA0Cnw+IExpc3QuaXRlciAocHJpbnRmbiAiJXMiKQ==