Concentric waves on the five-shade renderer >>236.
scheme@(guile-user)> (display ((lambda (rec xjoin extract index chars m n cell invert) ((lambda (xjoin cycle) ((lambda (expand) ((lambda (chars) ((lambda (symbol) (xjoin m (lambda (k) (string-append (xjoin n (lambda (j) (symbol k j)) "") "\n")) "")) ((lambda (ifinvert) (lambda (k j) (extract chars (* cell (ifinvert (index m n k j cycle))) cell))) (if invert (lambda (x) (- cycle 1 x)) (lambda (x) x))))) (expand chars cell))) (lambda (chars n) (xjoin (* n (string-length chars)) (lambda (k) (extract chars (quotient k n) 1)) "")))) (lambda (n fun sep) (rec xjoin n fun sep "")) (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 (int sqr wave) ((lambda (radius) (lambda (m n k j cycle) (wave (int (radius j k (/ (- n 1) 2) (/ (- m 1) 2))) cycle))) (lambda (px py cx cy) (sqrt (+ (sqr (- px cx)) (sqr (- py cy))))))) (lambda (x) (inexact->exact (truncate x))) (lambda (x) (* x x)) (lambda (x cycle) (abs (- (modulo x (* 2 (- cycle 1))) cycle -1)))) " ░▒▓█" 23 40 2 #f))