[ prog / sol / mona ]

prog


The Forced Indentation Of Code

132 2022-07-18 11:18

Sierpinski carpet >>17 quadrant butterflies invading the spiral flower garden >>129

scheme@(guile-user)> (display ((lambda (rec xjoin extract index patch carpet chars band n) ((lambda (xjoin carpet lines columns cycle) ((lambda (patch) ((lambda (symbol) (xjoin lines (lambda (k) (string-append (xjoin columns (lambda (j) (symbol k j)) "") "\n")) "")) (lambda (k j) (extract chars (index patch band cycle n k j) 1)))) (lambda (cycle k j) (patch carpet cycle k j)))) (lambda (n fun sep) (rec xjoin n fun sep "")) (lambda (k j) (rec carpet k j)) (+ (* 2 n) 1) (+ (* 2 n) 1) (string-length chars))) (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 (div) (lambda (patch band cycle n k j) ((lambda (k j) (if (or (= (modulo (+ k j) band) 0) (= (modulo (- k j) band) 0)) 0 (+ (patch (- cycle 1) (div (+ k j) band) (div (- k j) band)) 1))) (- k n) (- j n)))) (lambda (a b) (quotient (- a (modulo a b)) b))) ((lambda (spiral carpets) (lambda (carpet cycle x y) (if (carpets carpet x y) (+ (modulo (spiral x y) (- cycle 1)) 1) 0))) ((lambda (ring inside inring) (lambda (k j) ((lambda (ring) (+ (inside ring) (inring ring k j))) (ring k j)))) (lambda (k j) (quotient (+ (max (abs (+ (* 2 k) 1)) (abs (+ (* 2 j) 1))) 1) 2)) (lambda (ring) (if (< ring 2) 0 (* 4 (- ring 1) (- ring 1)))) (lambda (ring k j) (if (= k (- ring)) (+ (* 7 ring) -4 j) (if (= j (- ring)) (- (* 5 ring) 4 k) (if (= k (- ring 1)) (- (* 3 ring) 3 j) (+ ring -1 k)))))) (lambda (carpet k j) (if (>= k 0) (if (>= j 0) (carpet k j) (carpet k (- -1 j))) (if (>= j 0) (carpet (- -1 k) j) (carpet (- -1 k) (- -1 j)))))) (lambda (self k j) (if (or (= k 0) (= j 0)) #t (if (and (= (modulo k 3) 1) (= (modulo j 3) 1)) #f (self self (quotient k 3) (quotient j 3))))) "🌵🦋🌹🌺🌷🌻💮🌼🌸" 6 9))
🌵💮💮💮💮💮🌵🦋🦋🦋🦋🦋🌵🌹🌹🌹🌹🌹🌵
🌼🌵💮💮💮🌵🌸🌵🦋🦋🦋🌵💮🌵🌹🌹🌹🌵🌸
🌼🌼🌵💮🌵🌸🌸🌸🌵🦋🌵💮💮💮🌵🌹🌵🌸🌸
🌼🌼🌼🌵🌸🌸🌸🌸🌸🌵💮💮💮💮💮🌵🌸🌸🌸
🌼🌼🌵🌹🌵🌸🌸🌸🌵🌷🌵💮💮💮🌵🌻🌵🌸🌸
🌼🌵🌹🌹🌹🌵🌸🌵🌷🌷🌷🌵💮🌵🌻🌻🌻🌵🌸
🌵🌹🌹🌹🌹🌹🌵🌷🌷🌷🌷🌷🌵🌻🌻🌻🌻🌻🌵
🦋🌵🌹🌹🌹🌵🌻🌵🌷🌷🌷🌵🌺🌵🌻🌻🌻🌵🦋
🦋🦋🌵🌹🌵🌻🌻🌻🌵🌷🌵🌺🌺🌺🌵🌻🌵🦋🦋
🦋🦋🦋🌵🌻🌻🌻🌻🌻🌵🌺🌺🌺🌺🌺🌵🦋🦋🦋
🦋🦋🌵💮🌵🌻🌻🌻🌵🌹🌵🌺🌺🌺🌵🌺🌵🦋🦋
🦋🌵💮💮💮🌵🌻🌵🌹🌹🌹🌵🌺🌵🌺🌺🌺🌵🦋
🌵💮💮💮💮💮🌵🌹🌹🌹🌹🌹🌵🌺🌺🌺🌺🌺🌵
🌻🌵💮💮💮🌵🌼🌵🌹🌹🌹🌵🌹🌵🌺🌺🌺🌵🌷
🌻🌻🌵💮🌵🌼🌼🌼🌵🌹🌵🌹🌹🌹🌵🌺🌵🌷🌷
🌻🌻🌻🌵🌼🌼🌼🌼🌼🌵🌹🌹🌹🌹🌹🌵🌷🌷🌷
🌻🌻🌵💮🌵🌼🌼🌼🌵🦋🌵🌹🌹🌹🌵🌺🌵🌷🌷
🌻🌵💮💮💮🌵🌼🌵🦋🦋🦋🌵🌹🌵🌺🌺🌺🌵🌷
🌵💮💮💮💮💮🌵🦋🦋🦋🦋🦋🌵🌺🌺🌺🌺🌺🌵
scheme@(guile-user)> 

larger version: http://paste.textboard.org/77f8309e/raw
apply
* { line-height: 1em; }
to the larger version for more symmetry

if your browser adds useless vertical scrollbars to code boxes after >>28 getting rid of vertical gaps: >>109

267


VIP:

do not edit these