diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-14 15:12:10 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-14 16:00:41 +0000 |
commit | 4c27e7d5c1bf118d62da28e2be9a0983022190e3 (patch) | |
tree | 93b87bd294c9f762882fdf855b28164dabc4390b /cantedraw.lisp | |
parent | b335a12b7851405b3796f6efd463989196080fe3 (diff) | |
download | cantedraw-4c27e7d5c1bf118d62da28e2be9a0983022190e3.tar.gz cantedraw-4c27e7d5c1bf118d62da28e2be9a0983022190e3.tar.bz2 cantedraw-4c27e7d5c1bf118d62da28e2be9a0983022190e3.zip |
cantedraw.lisp -> main.lisp
Diffstat (limited to 'cantedraw.lisp')
-rw-r--r-- | cantedraw.lisp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/cantedraw.lisp b/cantedraw.lisp deleted file mode 100644 index 4380d8a..0000000 --- a/cantedraw.lisp +++ /dev/null @@ -1,49 +0,0 @@ -;;; 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 _)))) |