Я пытаюсь написать функцию со следующей типовой сигнатурой, используя линзы, но, глядя на filtered
, очевидно, не работает!
modifyElem
:: (a -> Bool) -- predicate function
-> (a -> a) -- modification to apply
-> [a]
-> [a]
Если возможно,это также может быть обобщено далее:
modifyElem
:: (Foldable t) -- or (Traversable t)
-> (a -> Bool)
-> (a -> a)
-> t a
-> t a