A memoized store comonad parameterized by a representable functor g, where
the representatation of g, Rep g is the index of the store.
Moduleadjunctions-4.4.3Haskell2010
Control.Comonad.Representable.Store
This is a generalized Store Comonad, parameterized by a Representable Functor. The representation of that Functor serves as the index of the store.
This can be useful if the representable functor serves to memoize its contents and will be inspected often.
- 2 types
- 1 class
- 4 values
- Packageadjunctions-4.4.3
- Exports7
- LanguageHaskell2010
- LicenceBSD-2-Clause
- SourceStore.hs
Construct a store comonad computation from a function and a current index. (The inverse of runStore.)
Unwrap a store comonad computation as a function and a current index. (The inverse of store.)
A store transformer comonad parameterized by:
g- A representable functor used to memoize results for an indexRep gw- The inner comonad.
Instances12ComonadEnv, ComonadStore, ComonadTraced, ComonadCofree, ComonadTrans, ComonadHoist, …
(ComonadEnv m w, Representable g) => ComonadEnv m (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Comonad w, Representable g, Rep g ~ s) => ComonadStore s (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(ComonadTraced m w, Representable g) => ComonadTraced m (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Representable g, ComonadCofree f w) => ComonadCofree f (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.StoreRepresentable g => ComonadTrans (StoreT g)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.StoreComonadHoist (StoreT g)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Functor w, Functor g) => Functor (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Applicative w, Monoid (Rep g), Representable g) => Applicative (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Comonad w, Representable g) => Comonad (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(ComonadApply w, Semigroup (Rep g), Representable g) => ComonadApply (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Apply w, Semigroup (Rep g), Representable g) => Apply (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Extend w, Representable g) => Extend (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store
Instances7ComonadStore, …
ComonadStore s w => ComonadStore s (Cofree w)Defined in free-5.2 · Control.Comonad.CofreeComonadStore s w => ComonadStore s (CoiterT w)Defined in free-5.2 · Control.Comonad.Trans.CoiterComonad w => ComonadStore s (StoreT s w)Defined in comonad-5.0.9 · Control.Comonad.Store.ClassComonadStore s w => ComonadStore s (EnvT e w)Defined in comonad-5.0.9 · Control.Comonad.Store.ClassComonadStore s w => ComonadStore s (IdentityT w)Defined in comonad-5.0.9 · Control.Comonad.Store.Class(Comonad w, Representable g, Rep g ~ s) => ComonadStore s (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(ComonadStore s w, Monoid m) => ComonadStore s (TracedT m w)Defined in comonad-5.0.9 · Control.Comonad.Store.Class