Scaling ellipse rings 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) ((lambda (radius) (lambda (m n k j cycle) (min (int (* cycle (radius j k (/ (- n 1) 2) (/ (- m 1) 2)))) (- cycle 1)))) (lambda (px py cx cy) (sqrt (+ (sqr (/ (- px cx) cx)) (sqr (/ (- py cy) cy))))))) (lambda (x) (inexact->exact (truncate x))) (lambda (x) (* x x))) " ░▒▓█" 23 40 2 #f))