The Forced Resumption Of Tile Heap Fractals
scheme@(guile-user)> (display ((lambda (rec xjoin extract index size spec chars n) ((lambda (xjoin index size) ((lambda (lincol) ((lambda (lines columns) ((lambda (symbol) (xjoin lines (lambda (k) (string-append (xjoin columns (lambda (j) (symbol k j)) "") "\n")) "")) (lambda (k j) (extract chars (index lines columns k j) 1)))) (car lincol) (cadr lincol))) (size n '(4 7)))) (lambda (n fun sep) (rec xjoin n fun sep "")) (lambda (rows cols k j) (rec index spec rows cols k j #f)) (lambda (n rowcol) (rec size n rowcol)))) (lambda (f . args) (apply f (cons f args))) (lambda (self n fun sep acc) (if (<= n 0) "" (if (= n 1) (string-append (fun 0) acc) (self self (- n 1) fun sep (string-append sep (fun (- n 1)) acc))))) (lambda (str pos len) (substring str pos (+ pos len))) ((lambda (base? fromspec) (lambda (self spec lines columns k j over) (if (base? lines columns) (fromspec spec k j over) ((lambda (l2 c2) (if (and (<= (- l2 2) k (+ l2 1)) (<= (- c2 3) j (+ c2 3))) (self self spec 4 7 (- k l2 -2) (- j c2 -3) #t) (if (= j c2) 0 (self self spec l2 c2 (if (< k l2) k (- k l2)) (if (< j c2) j (- j c2 1)) #f)))) (quotient lines 2) (quotient columns 2))))) (lambda (lin col) (and (= lin 4) (= col 7))) (lambda (spec k j over) ((lambda (cell) (if (pair? cell) (if over (car cell) (cadr cell)) cell)) (vector-ref spec (+ j (* 7 k)))))) (lambda (self n rowcol) (if (= n 0) rowcol (self self (- n 1) (list (* 2 (car rowcol)) (+ 1 (* 2 (cadr rowcol))))))) #(3 1 (8 1) 1 (8 1) 1 4 (9 2) 0 0 0 0 0 (10 2) (9 2) 0 0 0 0 0 (10 2) 5 1 (7 1) 1 (7 1) 1 6) " ─│┌┐└┘┬┴┤├" 2))
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│ ┌─┴─┴─┐ │ │ ┌─┴─┴─┐ │
└───┤ ├───┘ └───┤ ├───┘
┌───┤ ├───┐ ┌───┤ ├───┐
│ └─┬─┬─┘ │ │ └─┬─┬─┘ │
│ │ │ ┌─┴─┴─┐ │ │ │
└─────┘ └───┤ ├───┘ └─────┘
┌─────┐ ┌───┤ ├───┐ ┌─────┐
│ │ │ └─┬─┬─┘ │ │ │
│ ┌─┴─┴─┐ │ │ ┌─┴─┴─┐ │
└───┤ ├───┘ └───┤ ├───┘
┌───┤ ├───┐ ┌───┤ ├───┐
│ └─┬─┬─┘ │ │ └─┬─┬─┘ │
│ │ │ │ │ │ │ │
└─────┘ └─────┘ └─────┘ └─────┘
scheme@(guile-user)>
level 4: http://paste.textboard.org/65462c0b/raw
if your browser adds useless vertical scrollbars to code boxes after >>28 getting rid of vertical gaps:
dd pre {
line-height: 1em;
padding: 0.5em 0;
}