comonad-transformers-2.0.0: Comonad transformers

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Comonad.Trans.Traced.Memo

Contents

Description

The memoized traced comonad transformer (aka the cowriter or exponential comonad transformer).

Synopsis

Traced comonad

type Traced m = TracedT m Identity

traced :: Monoid m => (m -> a) -> Traced m a

runTraced :: Traced m a -> m -> a

Traced comonad transformer

data TracedT m w a

Instances

tracedT :: (Functor w, Monoid m) => w (m -> a) -> TracedT m w a

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

Operations

trace :: (Comonad w, Monoid m) => m -> TracedT m w a -> a

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

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

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