diff options
author | tomsmeding <tom.smeding@gmail.com> | 2019-11-22 22:38:03 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2019-11-22 22:38:15 +0100 |
commit | 9de16e245424e62318cdce4909e33c256f585cb6 (patch) | |
tree | ac258835905ece97ea252ca57068a4f9085f0d4a /tests/stdlib.lisp | |
parent | 8cfb2879d9d5e9df9abb23bae8420f61005980e8 (diff) |
Full tokeniser in lispparser.lisp (also strings now)
Diffstat (limited to 'tests/stdlib.lisp')
-rw-r--r-- | tests/stdlib.lisp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/stdlib.lisp b/tests/stdlib.lisp index ece8953..86dabe2 100644 --- a/tests/stdlib.lisp +++ b/tests/stdlib.lisp @@ -99,3 +99,14 @@ (define read-line (fid) (read-until fid (lambda (ch) (or (= ch "\n") (null? ch))))) + +(define number->string (num) + (let ((helper (lambdarec rec (n yet) + (if (= n 0) yet + (rec (/ n 10) (concat (chr (+ (mod n 10) 48)) yet)))))) + (cond + (= num 0) + "0" + (< num 0) + (concat "-" (number->string (- 0 num))) + (helper num "")))) |