data Foo = Foo {
_bar :: Map String Integer
} deriving (Eq, Ord, Read, Show, Data, Typeable)
$(deriveSafeCopy 0 'base 'Foo)
$(makeLenses ''Foo)
上記のコードを考えると、これを行うことができるはずだという印象を受けています。
addEntry :: String -> Update Foo ()
addEntry s = zoom bar $ modify $ insert s 0
しかし、GHC は次のように文句を言います。
src/Backend.hs:39:20:
No instance for (Functor
(Control.Lens.Internal.Zoom.Zoomed (Update Foo) ()))
何か案は?