odraw -> cantedraw

Why name it something unique when this is what I'm going to be making
at the end of it all?  Just makes it more confusing for the end user.
This commit is contained in:
2025-02-11 00:48:14 +00:00
parent 9b3d8e471a
commit 90ef834393
4 changed files with 11 additions and 11 deletions

49
cantedraw.lisp Normal file
View File

@@ -0,0 +1,49 @@
;;; cantedraw.lisp - 2025-02-11
;; Copyright (C) 2025 Aryadev Chavali
;; This program is distributed in the hope that it will be useful, but WITHOUT
;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
;; FOR A PARTICULAR PURPOSE. See the GNU General Public License Version 2 for
;; details.
;; You may distribute and modify this code under the terms of the GNU General
;; Public License Version 2, which you should have received a copy of along with
;; this program. If not, please go to <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Implementation of `cantedraw' package. Defines the entrypoint of the program,
;; handling any input from the user and passing it into the system.
;;; Code:
(in-package :cantedraw)
(fn read-input (&optional (prompt "> ")) (-> (&optional string) string)
(format t "~a" prompt)
(force-output)
(read-line))
(fn parse-integers (input) (-> (string) list)
(->> input
uiop:split-string
(mapcar #'parse-integer*)
(remove-if #'null)))
(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...~%")
(force-output)
(setq inp (read-integers)))
inp))
(defun start ()
(--> (read-until-integers)
(cons '+ _)
(format t "~a = ~a~%" _ (eval _))))