Есть ли способ для меня только экспортировать определенные геттеры xor сеттеры из модуля с объективом?Экспортировать только геттер или сеттер из модуля
Например, давайте предположим, что структура данных, которая имеет инвариант всегда быть >= 0
, модифицируются только приращением его и создается только с начальным значением 0
:
module Something
(Counter
-- export only `count` getter
, make
, increment
) where
data Counter = Counter { _count :: Int } deriving (Eq)
makeLenses ''Positive
make :: Counter
make = Counter 0
increment :: Counter -> Counter
increment c = c ^. count %~ (+1)
, как я смогу экспортировать только count
геттер?