diff options
Diffstat (limited to 'src/lisp/ao_lisp_const.lisp')
-rw-r--r-- | src/lisp/ao_lisp_const.lisp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/lisp/ao_lisp_const.lisp b/src/lisp/ao_lisp_const.lisp index 9fb7634c..f8a70979 100644 --- a/src/lisp/ao_lisp_const.lisp +++ b/src/lisp/ao_lisp_const.lisp @@ -25,7 +25,7 @@ (set (quote define) (macro (name val rest) (list - 'progn + 'begin (list 'set (list 'quote name) @@ -520,6 +520,26 @@ '(54 0 37 -3 245 19)) #t)) +(define repeat (macro (count rest) + (list + let + (list + (list '__count__ count)) + (append + (list + while + (list + <= + 0 + (list + set! + '__count__ + (list + - + '__count__ + 1)))) + rest)))) + ;(define number->string (lexpr (arg opt) ; (let ((base (if (null? opt) 10 (car opt))) ; |