有没有办法让我只从带有镜头的模块中导出特定的 getter xor setter?
例如,让我们假设一个数据结构具有始终为的不变量,>= 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
吸气剂?