| Portability | portable |
|---|---|
| Stability | provisional |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
Control.Comonad.Traced.MemoTrie
Description
The trace comonad transformer (aka the cowriter or exponential comonad transformer).
- type Traced m = TracedT m Identity
- traced :: HasTrie m => (m -> a) -> Traced m a
- runTraced :: HasTrie m => Traced m a -> m -> a
- newtype TracedT m w a = TracedT (w (m :->: a))
- trace :: ComonadTraced m w => forall a. m -> w a -> a
- listen :: (Functor w, HasTrie m) => TracedT m w a -> TracedT m w (a, m)
- listens :: (Functor w, HasTrie m) => (m -> b) -> TracedT m w a -> TracedT m w (a, b)
- censor :: (Functor w, HasTrie m) => (m -> m) -> TracedT m w a -> TracedT m w a
Traced comonad
Traced comonad transformer
Instances
| (ComonadEnv e w, Semigroup m, Monoid m, HasTrie m) => ComonadEnv e (TracedT m w) | |
| (ComonadStore s w, Semigroup m, Monoid m, HasTrie m) => ComonadStore s (TracedT m w) | |
| (Comonad w, Semigroup m, Monoid m, HasTrie m) => ComonadTraced m (TracedT m w) | |
| (Semigroup m, Monoid m, HasTrie m) => ComonadHoist (TracedT m) | |
| (Semigroup m, Monoid m, HasTrie m) => ComonadTrans (TracedT m) | |
| (Functor w, HasTrie m) => Functor (TracedT m w) | |
| (Typeable s, Typeable1 w) => Typeable1 (TracedT s w) | |
| (Applicative w, HasTrie m) => Applicative (TracedT m w) | |
| (Comonad w, Semigroup m, Monoid m, HasTrie m) => Comonad (TracedT m w) | |
| (Extend w, Semigroup m, HasTrie m) => Extend (TracedT m w) | |
| (Apply w, HasTrie m) => Apply (TracedT m w) |
Operations
trace :: ComonadTraced m w => forall a. m -> w a -> a