comonad-extras-0.2: Comonad transformers requiring extensions to Haskell 98

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Comonad.Traced.MemoTrie

Contents

Description

The trace comonad transformer (aka the cowriter or exponential comonad transformer).

Synopsis

Traced comonad

traced :: HasTrie m => (m -> a) -> Traced m aSource

runTraced :: HasTrie m => Traced m a -> m -> aSource

Traced comonad transformer

newtype TracedT m w a Source

Constructors

TracedT (w (m :->: a)) 

Instances

Operations

trace :: ComonadTraced m w => forall a. m -> w a -> a

listen :: (Functor w, HasTrie m) => TracedT m w a -> TracedT m w (a, m)Source

listens :: (Functor w, HasTrie m) => (m -> b) -> TracedT m w a -> TracedT m w (a, b)Source

censor :: (Functor w, HasTrie m) => (m -> m) -> TracedT m w a -> TracedT m w aSource