summaryrefslogtreecommitdiff
path: root/tests/stdlib.lisp
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2019-11-22 22:38:03 +0100
committertomsmeding <tom.smeding@gmail.com>2019-11-22 22:38:15 +0100
commit9de16e245424e62318cdce4909e33c256f585cb6 (patch)
treeac258835905ece97ea252ca57068a4f9085f0d4a /tests/stdlib.lisp
parent8cfb2879d9d5e9df9abb23bae8420f61005980e8 (diff)
Full tokeniser in lispparser.lisp (also strings now)
Diffstat (limited to 'tests/stdlib.lisp')
-rw-r--r--tests/stdlib.lisp11
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 ""))))