From 4c27e7d5c1bf118d62da28e2be9a0983022190e3 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 14 Feb 2025 15:12:10 +0000 Subject: cantedraw.lisp -> main.lisp --- cantedraw.lisp | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 cantedraw.lisp (limited to 'cantedraw.lisp') 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 . - -;;; 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 _)))) -- cgit v1.2.3-13-gbd6f