shell: now no definitions with long lines

This commit is contained in:
Kartik K. Agaram 2021-06-20 22:57:36 -07:00
parent b195921b5f
commit 77f347c181
1 changed files with 7 additions and 3 deletions

View File

@ -38,6 +38,10 @@
(compose . [def (compose f g)
(fn args
(f (apply g args)))])
(caar . [define caar (compose car car)])
(cadr . [define cadr (compose car cdr)])
(cddr . [define cddr (compose cdr cdr)])
(cdar . [define cdar (compose cdr car)])
(some . [def (some f xs)
if (no xs)
()
@ -62,12 +66,12 @@
()
if (no (cdr xs))
(list (list (car xs)))
(cons (list (car xs) (car (cdr xs)))
(pair (cdr (cdr xs))))])
(cons (list (car xs) (cadr xs))
(pair (cddr xs)))])
(with . [mac (with vars_vals . body)
`((fn ,(map1 car (pair vars_vals))
,@body)
,@(map1 (compose car cdr) (pair vars_vals)))])
,@(map1 cadr (pair vars_vals)))])
(afn . [mac (afn params . body)
`(let self ()
(set self (fn ,params ,@body)))])