tower of memel
>>> print ((lambda mY, xjoin, pred, s, n: (lambda xjoin: (lambda z: xjoin (2 * n - 1, lambda k: xjoin (2 * n - 1, lambda j: s if pred (n, k, j) else z, ''), '\n')) (xjoin (len (s), lambda x: ' ', ''))) (mY (xjoin))) (lambda f, *more: (lambda x: x (x)) (lambda y: f (lambda *args: y (y) (*args), *more)), lambda f: lambda n, g, s: '' if n <= 0 else g (0) if n == 1 else f (n - 1, g, s) + s + g (n - 1), (lambda side, fold, diag: lambda n, k, j: (lambda k, j: side (k, j) or side (j, k) or fold (k, j) or fold (j, k) or diag (k, j)) (abs (n - 1 - k), abs (n - 1 - j))) (lambda k, j: (k % 2 == 1) and (j <= k - 2), lambda k, j: (k == j + 1) and (j % 2 == 1), lambda k, j: (k == j) and (k % 2 == 1)), "me", 10))
me mememememememememememememememe me
me me
mememe mememememememememememe mememe
me me me me
me mememe mememememememe mememe me
me me me me me me
me me mememe mememe mememe me me
me me me me me me me me
me me me mememe mememe me me me
me me me me me me me me
me me me mememe mememe me me me
me me me me me me me me
me me mememe mememe mememe me me
me me me me me me
me mememe mememememememe mememe me
me me me me
mememe mememememememememememe mememe
me me
me mememememememememememememememe me
>>>
top-down view