aboutsummaryrefslogtreecommitdiff
path: root/main.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'main.lisp')
-rw-r--r--main.lisp15
1 files changed, 8 insertions, 7 deletions
diff --git a/main.lisp b/main.lisp
index 674d09c..26ef67a 100644
--- a/main.lisp
+++ b/main.lisp
@@ -20,21 +20,22 @@
(in-package :main)
-(fn read-input (&optional (prompt "> "))
- (-> (&optional string) string)
+(fn read-input (&optional (prompt "> ")) (-> (&optional string) string)
(format t "~a" prompt)
(force-output)
(read-line))
-(fn read-integers ()
- (-> nil list)
- (->> (read-input "Enter numbers: ")
+(fn parse-integers (input) (-> (string) list)
+ (->> input
(uiop:split-string)
(mapcar (lambda (s) (parse-integer s :junk-allowed t)))
(remove-if #'null)))
-(fn read-until-integers ()
- (-> nil list)
+(fn read-integers () (-> nil list)
+ (->> (read-input "Enter numbers: ")
+ parse-integers))
+
+(fn read-until-integers () (-> nil list)
(let ((inp (read-integers)))
(while (null inp)
(format t "Need at least one integer...~%")