aboutsummaryrefslogtreecommitdiff
path: root/lib/functions.lisp
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2025-02-21 14:05:46 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2025-02-21 14:11:08 +0000
commit1edd618b42821f26b0a31ae63f393c09259c046b (patch)
tree9ec1f025dc400750671fa3cad9183955214cf8b6 /lib/functions.lisp
parentdc6b2f701bd1cc36a55039f7fc36ac48a3d439df (diff)
downloadcantedraw-1edd618b42821f26b0a31ae63f393c09259c046b.tar.gz
cantedraw-1edd618b42821f26b0a31ae63f393c09259c046b.tar.bz2
cantedraw-1edd618b42821f26b0a31ae63f393c09259c046b.zip
Add unit tests for lib.functions.rev-map
Diffstat (limited to 'lib/functions.lisp')
-rw-r--r--lib/functions.lisp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/functions.lisp b/lib/functions.lisp
index 073e34a..4e18a0a 100644
--- a/lib/functions.lisp
+++ b/lib/functions.lisp
@@ -37,11 +37,11 @@ each member is STEP distance apart."
(subseq lst n)))
(fn rev-map (indicator lst &key (key-eq #'eq))
- (-> (function list &key (:key-eq function)) list)
+ (-> (function sequence &key (:key-eq function)) list)
"Given LST and INDICATOR: LST -> A, return an association list A -> 2^LST
where key x in A has associations {y in LST : INDICATOR(y) = x}."
(loop :with assoc-list := nil
- :for element :in lst
+ :for element :in (coerce lst 'list)
:for key := (funcall indicator element)
:if (assoc key assoc-list :test key-eq)
:do (->> (alist-val key assoc-list)