From d52023f9f49178edfecfa55e917c53044778f0c4 Mon Sep 17 00:00:00 2001 From: Edward Langley Date: Sat, 28 Jun 2025 14:48:17 -0700 Subject: [PATCH] feat: reduce-generic for fset:map --- data-lens-fset.lisp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data-lens-fset.lisp b/data-lens-fset.lisp index 7465e49..fc4f872 100644 --- a/data-lens-fset.lisp +++ b/data-lens-fset.lisp @@ -63,6 +63,11 @@ rec)) +(defmethod data-lens.transducers.internals:reduce-generic ((map fset:map) (func function) init) + (fset:reduce (lambda (acc k v) + (funcall func acc (list k v))) + map + :initial-value init)) (defmethod data-lens.transducers.internals:builder-for-input ((map fset:map)) (values 'fset-map-builder map)) @@ -104,6 +109,7 @@ m))) (defun make-bag-lens (item) (make-set-lens item)) + (defmethod data-lens.lenses:generic-lens ((rec fset:bag) cb loc) (funcall (funcall (make-set-lens loc) cb)