Используя библиотеку объектив, я могу применить функцию модификации к отдельным целям, например:
Prelude Control.Lens> (1, 'a', 2) & _1 %~ (*3)
(3,'a',2)
Prelude Control.Lens> (1, 'a', 2) & _3 %~ (*3)
(1,'a',6)
Как я могу объединить эти отдельные линзы (_1
и _3
), чтобы иметь возможность выполнить это обновление для обеих целей одновременно? Я ожидаю чего-то в духе следующего:
Prelude Control.Lens> (1, 'a', 2) & ??? %~ (*3)
(3,'a',6)