This commit is contained in:
parent
e962a53f9a
commit
e941dd505c
|
@ -51,6 +51,24 @@
|
|||
(afn . [(mac (afn params . body)
|
||||
`(let self ()
|
||||
(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
|
||||
(f (car xs))
|
||||
(walk (cdr xs) f))) ])
|
||||
(up . [(mac (up var init max . body)
|
||||
`(for ,var ,init (<= ,var ,max) (++ ,var)
|
||||
,@body))])
|
||||
(down . [(mac (down var init min . body)
|
||||
`(for ,var ,init (>= ,var ,min) (-- ,var)
|
||||
,@body))])
|
||||
(rem . [(def (rem f xs)
|
||||
(if (no xs)
|
||||
()
|
||||
|
|
Loading…
Reference in New Issue