Есть ли способ объединить линзы, чтобы я мог применять функцию над a и b в приведенной ниже структуре, но не c? import Control.Lens hiding (element) data SomeInts = SomeInts {_a :: Int, _b :: ...
У меня есть тип, который я хотел бы использовать как часть государственной монады: {- # LANGUAGE TemplateHaskell # -} import Control.Lens data SomeState = SomeState {_int :: Int, _string :: String} makeLenses '' .. ,
Я пытаюсь добиться более глубокого понимания библиотеки линз, поэтому я стараюсь играть с типами, которые она предлагает. У меня уже был некоторый опыт работы с линзами, и я знаю, насколько они мощные и удобные. ...
В настоящее время я пишу программу на Haskell, которая включает моделирование абстрактной машины, которая имеет внутреннее состояние, принимает входные данные и выдает выходные данные. Я знаю, как реализовать это с помощью государственной монады, которая
В haskell без линз я могу делать такие вещи, как: Data Item = Item {количество :: Double, цена :: Double} стоимость :: Item -> Double cost = (*) <$> количество <*> цена Если я использую линзы. ..