diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/data.limg | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/shell/data.limg b/shell/data.limg index c85dd050..7ef4b055 100644 --- a/shell/data.limg +++ b/shell/data.limg @@ -5,6 +5,10 @@ (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) ()))]) (list . [(def (list . args) args)]) (len . [(def (len l) (if (no l) @@ -15,10 +19,6 @@ () (cons (f (car xs)) (map1 f (cdr xs)))))]) - (let . [(mac (let var val . body) - `((fn (,var) ,@body) ,val))]) - (when . [(mac (when cond . body) - `(if ,cond (do ,@body) ()))]) (++ . [(mac (++ var) `(set ,var (+ ,var 1)))]) (+= . [(mac (+= var inc) `(set ,var (+ ,var ,inc)))]) |