From 52f7db44cf442e466fd4a0be7eb5e0e03fb4ff09 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Tue, 11 Feb 2025 00:30:27 +0000 Subject: main -> odraw --- main.lisp | 49 ------------------------------------------------- odraw.asd | 4 ++-- odraw.lisp | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ packages.lisp | 2 +- 4 files changed, 52 insertions(+), 52 deletions(-) delete mode 100644 main.lisp create mode 100644 odraw.lisp diff --git a/main.lisp b/main.lisp deleted file mode 100644 index 5c324af..0000000 --- a/main.lisp +++ /dev/null @@ -1,49 +0,0 @@ -;;; main.lisp - 2025-02-09 - -;; 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 `main' package. Defines the entrypoint of the program, -;; handling any input from the user and passing it into the system. - -;;; Code: - -(in-package :main) - -(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 _)))) diff --git a/odraw.asd b/odraw.asd index 79d714c..fee4d6e 100644 --- a/odraw.asd +++ b/odraw.asd @@ -3,7 +3,7 @@ :components ((:file "packages") (:file "lib.macros") (:file "lib.functions") - (:file "main")) + (:file "odraw")) :build-operation "deploy-op" :build-pathname "odraw" - :entry-point "main:start") + :entry-point "odraw:start") diff --git a/odraw.lisp b/odraw.lisp new file mode 100644 index 0000000..d4d94ee --- /dev/null +++ b/odraw.lisp @@ -0,0 +1,49 @@ +;;; odraw.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 `odraw' package. Defines the entrypoint of the program, +;; handling any input from the user and passing it into the system. + +;;; Code: + +(in-package :odraw) + +(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 _)))) diff --git a/packages.lisp b/packages.lisp index b2a6760..703f890 100644 --- a/packages.lisp +++ b/packages.lisp @@ -32,6 +32,6 @@ :range :take :split :rev-map)) -(defpackage main +(defpackage odraw (:use :cl :lib.macros :lib.functions) (:export :start)) -- cgit v1.2.3-13-gbd6f