Portability | non-portable (fundeps, MPTCs) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Control.Comonad.Traced.Memo
Description
- class Comonad w => ComonadTraced m w | w -> m where
- trace :: m -> w a -> a
- traces :: ComonadTraced m w => (a -> m) -> w a -> a
- type Traced m = TracedT m Identity
- traced :: Monoid m => (m -> a) -> Traced m a
- runTraced :: Traced m a -> m -> a
- data TracedT m w a
- tracedT :: (Functor w, Monoid m) => w (m -> a) -> TracedT m w a
- runTracedT :: TracedT m w a -> w (m -> a)
- module Control.Comonad
- module Control.Comonad.Trans.Class
ComonadTraced class
class Comonad w => ComonadTraced m w | w -> m whereSource
Instances
ComonadTraced m w => ComonadTraced m (IdentityT w) | |
ComonadTraced m w => ComonadTraced m (StoreT s w) | |
ComonadTraced m w => ComonadTraced m (DiscontT k w) | |
ComonadTraced m w => ComonadTraced m (StoreT s w) | |
ComonadTraced m w => ComonadTraced m (DiscontT k w) | |
ComonadTraced m w => ComonadTraced m (EnvT e w) | |
ComonadTraced m w => ComonadTraced m (StoreT s w) | |
ComonadTraced m w => ComonadTraced m (DiscontT k w) | |
ComonadTraced m w => ComonadTraced m (EnvT e w) | |
(Comonad w, Monoid m) => ComonadTraced m (TracedT m w) | |
(Comonad w, Semigroup m, Monoid m) => ComonadTraced m (TracedT m w) |
traces :: ComonadTraced m w => (a -> m) -> w a -> aSource
The Traced comonad
The TracedT comonad transformer
data TracedT m w a
Instances
(Comonad w, Monoid m) => ComonadTraced m (TracedT m w) | |
(ComonadStore s w, Monoid m) => ComonadStore s (TracedT m w) | |
(ComonadEnv e w, Monoid m) => ComonadEnv e (TracedT m w) | |
ComonadHoist (TracedT m) | |
ComonadTrans (TracedT m) | |
Functor w => Functor (TracedT m w) | |
(Typeable s, Typeable1 w) => Typeable1 (TracedT s w) | |
Applicative w => Applicative (TracedT m w) | |
(Comonad w, Monoid m) => Comonad (TracedT m w) | |
(Extend w, Monoid m) => Extend (TracedT m w) | |
Apply w => Apply (TracedT m w) |
runTracedT :: TracedT m w a -> w (m -> a)
Re-exported modules
module Control.Comonad
module Control.Comonad.Trans.Class