From deb610367f88d3271a1e690f8602655c60f2efe6 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 20 Jun 2021 21:29:33 -0700 Subject: start dropping parens everywhere --- shell/data.limg | 194 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 98 insertions(+), 96 deletions(-) (limited to 'shell/data.limg') diff --git a/shell/data.limg b/shell/data.limg index d204e85c..8c594004 100644 --- a/shell/data.limg +++ b/shell/data.limg @@ -1,107 +1,108 @@ ( (globals . ( - (mac . [(define mac (litmac litfn () ((name . params) . body) - `(define ,name (litmac litfn () ,params ,@body))))]) - (def . [(mac (def (name . params) . body) - `(define ,name (fn ,params ,@body)))]) - (do . [(mac (do . body) `((fn () ,@body)))]) + (mac . [define mac (litmac litfn () ((name . params) . body) + `(define ,name (litmac litfn () ,params ,@body)))]) + (def . [mac (def (name . params) . body) + `(define ,name (fn ,params ,@body))]) + (do . [mac (do . body) + `((fn () ,@body))]) (let . [(mac (let var val . body) `((fn (,var) ,@body) ,val))]) - (when . [(mac (when cond . body) - `(if ,cond (do ,@body) ()))]) - (iflet . [(mac (iflet var expr then else) + (when . [mac (when cond . body) + `(if ,cond (do ,@body) ())]) + (iflet . [mac (iflet var expr then else) `(let ,var ,expr - (if ,var ,then ,else)))]) - (aif . [(mac (aif expr then else) - `(iflet it ,expr ,then ,else))]) - (list . [(def (list . args) + (if ,var ,then ,else))]) + (aif . [mac (aif expr then else) + `(iflet it ,expr ,then ,else)]) + (list . [def (list . args) # we should probably make a copy here - args)]) - (len . [(def (len l) - (if (no l) + args]) + (len . [def (len l) + if (no l) 0 - (+ 1 (len (cdr l)))))]) - (nth . [(def (nth n xs) - (if (< n 1) + (+ 1 (len (cdr l)))]) + (nth . [def (nth n xs) + if (< n 1) (car xs) - (nth (- n 1) (cdr xs))))]) - (map1 . [(def (map1 f xs) - (if (no xs) + (nth (- n 1) (cdr xs))]) + (map1 . [def (map1 f xs) + if (no xs) () (cons (f (car xs)) - (map1 f (cdr xs)))))]) - (compose . [(def (compose f g) + (map1 f (cdr xs)))]) + (compose . [def (compose f g) (fn args - (f (g args))))]) - (some . [(def (some f xs) - (if (no xs) + (f (g args)))]) + (some . [def (some f xs) + if (no xs) () - (if (f (car xs)) + if (f (car xs)) xs - (some f (cdr xs)))))]) + (some f (cdr xs))]) (any . some) - (all . [(def (all f xs) - (if (no xs) + (all . [def (all f xs) + if (no xs) 1 - (if (f (car xs)) + if (f (car xs)) (all f (cdr xs)) - ())))]) - (find . [(def (find x xs) - (if (no xs) + ()]) + (find . [def (find x xs) + if (no xs) () - (if (= x (car xs)) + if (= x (car xs)) 1 - (find x (cdr xs)))))]) - (afn . [(mac (afn params . body) + (find x (cdr xs))]) + (afn . [mac (afn params . body) `(let self () - (set self (fn ,params ,@body))))]) - (seq . [(def (seq n) + (set self (fn ,params ,@body)))]) + (seq . [def (seq n) ((afn (i) (if (> i n) () (cons i (self (+ i 1))))) - 1))]) - (each . [(mac (each x xs . body) - `(walk ,xs (fn (,x) ,@body)))]) - (walk . [(def (walk xs f) - (when xs + 1)]) + (each . [mac (each x xs . body) + `(walk ,xs (fn (,x) ,@body))]) + (walk . [def (walk xs f) + when xs (f (car xs)) - (walk (cdr xs) f))) ]) - (rem . [(def (rem f xs) - (if (no xs) + (walk (cdr xs) f)]) + (rem . [def (rem f xs) + if (no xs) () - (let rest (rem f (cdr xs)) - (if (f (car xs)) + let rest (rem f (cdr xs)) + if (f (car xs)) rest - (cons (car xs) rest)))))]) - (keep . [(def (keep f xs) - (if (no xs) + (cons (car xs) rest)]) + (keep . [def (keep f xs) + if (no xs) () - (let rest (keep f (cdr xs)) - (if (f (car xs)) + let rest (keep f (cdr xs)) + if (f (car xs)) (cons (car xs) rest) - rest))))]) - (++ . [(mac (++ var) `(set ,var (+ ,var 1)))]) - (+= . [(mac (+= var inc) - `(set ,var (+ ,var ,inc)))]) - (for . [(mac (for var init test update . body) + rest]) + (++ . [mac (++ var) `(set ,var (+ ,var 1))]) + (+= . [mac (+= var inc) + `(set ,var (+ ,var ,inc))]) + (for . [mac (for var init test update . body) `(let ,var ,init (while ,test ,@body - ,update)))]) - (hline1 . [(def (hline1 screen y x xmax color) - (while (< x xmax) + ,update))]) + (hline1 . [def (hline1 screen y x xmax color) + while (< x xmax) (pixel screen x y color) - (++ x)))]) - (vline1 . [(def (vline1 screen x y ymax color) - (while (< y ymax) + (++ x)]) + (vline1 . [def (vline1 screen x y ymax color) + while (< y ymax) (pixel screen x y color) - (++ y)))]) - (hline . [(def (hline screen y color) - (hline1 screen y 0 (width screen) color))]) - (vline . [(def (vline screen x color) - (vline1 screen x 0 (height screen) color))]) - (line . [(def (line screen x0 y0 x1 y1 color) + (++ y)]) + (hline . [def (hline screen y color) + (hline1 screen y 0 (width screen) color)]) + (vline . [def (vline screen x color) + (vline1 screen x 0 (height screen) color)]) + (line . [def (line screen x0 y0 x1 y1 color) (let (x y) `(,x0 ,y0) (let dx (abs (- x1 x0)) (let dy (- 0 (abs (- y1 y0))) @@ -122,22 +123,23 @@ 0) (if (<= e2 dx) dx - 0))))))))))))]) - (read_line . [(def (read_line keyboard) + 0)))))))))))]) + (read_line . [def (read_line keyboard) (let str (stream) (let c (key keyboard) (while (not (or (= c 0) (= c 10))) (write str c) (set c (key keyboard)))) - str))]) - (wait . [(def (wait keyboard) - (while (= 0 (key keyboard))))]) - (sq . [(def (sq n) (* n n))]) - (cube . [(def (cube n) (* (* n n) n))]) - (fill_rect . [(def (fill_rect screen x1 y1 x2 y2 color) - (for y y1 (< y y2) (++ y) - (hline1 screen y x1 x2 color)))]) - (circle . [(def (circle screen cx cy r clr) + str)]) + (wait . [def (wait keyboard) + while (= 0 (key keyboard)) + ()]) + (sq . [def (sq n) (* n n)]) + (cube . [def (cube n) (* (* n n) n)]) + (fill_rect . [def (fill_rect screen x1 y1 x2 y2 color) + for y y1 (< y y2) (++ y) + (hline1 screen y x1 x2 color)]) + (circle . [def (circle screen cx cy r clr) (let x (- 0 r) (let y 0 (let err (- 2 (* 2 r)) @@ -156,26 +158,26 @@ (++ x) (+= err (+ 1 (* 2 x)))) - (set continue (< x 0))))))))]) - (ring . [(def (ring screen cx cy r0 w clr) - (for r r0 (< r (+ r0 w)) (++ r) - (circle screen cx cy r clr)))]) - (Greys . [(define Greys + (set continue (< x 0)))))))]) + (ring . [def (ring screen cx cy r0 w clr) + for r r0 (< r (+ r0 w)) (++ r) + (circle screen cx cy r clr)]) + (Greys . [define Greys (map1 (fn(n) (+ n 15)) - (seq 16)))]) - (Pinks . [(define Pinks '(84 85 59 60 61 - 13 36 37 5 108))]) - (palette . [(def (palette p i) - (nth (% i (len p)) p))]) - (pat . [(def (pat screen) + (seq 16))]) + (Pinks . [define Pinks '(84 85 59 60 61 + 13 36 37 5 108)]) + (palette . [def (palette p i) + (nth (% i (len p)) p)]) + (pat . [def (pat screen) (let w (width screen) (let h (height screen) (for y 0 (< y h) (++ y) (for x 0 (< x w) (++ x) (pixel screen x y - (* x y)))))))]) - (main . [(def (main screen keyboard) - (pat screen))]) + (* x y))))))]) + (main . [def (main screen keyboard) + (pat screen)]) )) (sandbox . (pat screen)) ) -- cgit 1.4.1-2-gfad0