From 87ad97e964acdc0cd219e629b8d0e4a123efd745 Mon Sep 17 00:00:00 2001 From: Sebastian Carlos Date: Thu, 3 Apr 2025 00:50:16 -0300 Subject: [PATCH] Style: Specialize generic function methods more precisely This PR adds some specialization on methods in the codebase. This is done in places where the methods rely on accessors specific to a particular class, despite the parameters not being specialized. --- quicklisp/progress.lisp | 12 ++++++------ quicklisp/setup.lisp | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/quicklisp/progress.lisp b/quicklisp/progress.lisp index b4d57e2..10046b3 100644 --- a/quicklisp/progress.lisp +++ b/quicklisp/progress.lisp @@ -60,13 +60,13 @@ (defgeneric elapsed-time (progress-bar)) (defgeneric units-per-second (progress-bar)) -(defmethod start-display (progress-bar) +(defmethod start-display ((progress-bar progress-bar)) (setf (last-update-time progress-bar) (get-internal-real-time)) (setf (start-time progress-bar) (get-internal-real-time)) (fresh-line) (finish-output)) -(defmethod update-display (progress-bar) +(defmethod update-display ((progress-bar progress-bar)) (incf (progress progress-bar) (pending progress-bar)) (setf (pending progress-bar) 0) (setf (last-update-time progress-bar) (get-internal-real-time)) @@ -78,14 +78,14 @@ (write-char (progress-character progress-bar))) (finish-output))) -(defmethod update-progress (progress-bar unit-count) +(defmethod update-progress ((progress-bar progress-bar) unit-count) (incf (pending progress-bar) unit-count) (let ((now (get-internal-real-time))) (when (< (update-interval progress-bar) (- now (last-update-time progress-bar))) (update-display progress-bar)))) -(defmethod finish-display (progress-bar) +(defmethod finish-display ((progress-bar progress-bar)) (update-display progress-bar) (setf (end-time progress-bar) (get-internal-real-time)) (terpri) @@ -95,11 +95,11 @@ (/ (units-per-second progress-bar) 1024)) (finish-output)) -(defmethod elapsed-time (progress-bar) +(defmethod elapsed-time ((progress-bar progress-bar)) (/ (- (end-time progress-bar) (start-time progress-bar)) internal-time-units-per-second)) -(defmethod units-per-second (progress-bar) +(defmethod units-per-second ((progress-bar progress-bar)) (if (plusp (elapsed-time progress-bar)) (/ (total progress-bar) (elapsed-time progress-bar)) 0)) diff --git a/quicklisp/setup.lisp b/quicklisp/setup.lisp index 1daedf2..974c2c9 100644 --- a/quicklisp/setup.lisp +++ b/quicklisp/setup.lisp @@ -42,7 +42,7 @@ (length (quicklisp-systems strategy))))) (defgeneric quicklisp-releases (strategy) - (:method (strategy) + (:method ((strategy load-strategy)) (remove-duplicates (mapcar 'release (quicklisp-systems strategy))))) (defgeneric quicklisp-release-table (strategy)