Есть ли объективный способ отобразить все элементы на карте и, возможно, удалить некоторые?
Объектив имеет imap
/ imapped
, который может быть использован для изменения элементов Data.Map
зависит от индекса, но не удаляет элементы.
Он также имеет at
, который может получить доступ / изменить и удалить один элемент.
Есть ли общий способ получить объединенную функциональность, то есть отобразить все пары элемент / индекс и, возможно, удалить некоторые? Это должна быть операция, которая mapMaybeWithKey
выполняет
mapMaybeWithKey :: (k -> a -> Maybe b) -> Map k a -> Map k b
но обобщено на языке линз.