feat: reduce-generic for fset:map

This commit is contained in:
Edward Langley
2025-06-28 14:48:17 -07:00
parent f9d091759c
commit d52023f9f4

View File

@ -63,6 +63,11 @@
rec)) 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)) (defmethod data-lens.transducers.internals:builder-for-input ((map fset:map))
(values 'fset-map-builder (values 'fset-map-builder
map)) map))
@ -104,6 +109,7 @@
m))) m)))
(defun make-bag-lens (item) (defun make-bag-lens (item)
(make-set-lens item)) (make-set-lens item))
(defmethod data-lens.lenses:generic-lens ((rec fset:bag) cb loc) (defmethod data-lens.lenses:generic-lens ((rec fset:bag) cb loc)
(funcall (funcall (make-set-lens loc) (funcall (funcall (make-set-lens loc)
cb) cb)