monadology-0.3: The best ideas in monad-related classes and types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Ology.Data.Prod

Synopsis

Documentation

data Prod m a Source #

A product of a monad (as in WriterT).

Constructors

MkProd 

Fields

Instances

Instances details
Functor m => Invariant (Prod m) Source # 
Instance details

Defined in Control.Monad.Ology.Data.Prod

Methods

invmap :: (a -> b) -> (b -> a) -> Prod m a -> Prod m b #

Applicative m => Productable (Prod m) Source # 
Instance details

Defined in Control.Monad.Ology.Data.Prod

Methods

rUnit :: Prod m () #

(<***>) :: Prod m a -> Prod m b -> Prod m (a, b) #

(***>) :: Prod m () -> Prod m a -> Prod m a #

(<***) :: Prod m a -> Prod m () -> Prod m a #

prodCollect_ :: Functor m => Prod m a -> m () -> m a Source #

prodListen :: Monad m => Prod m a -> forall r. m r -> m (r, a) Source #

prodListen_ :: Monad m => Prod m a -> m () -> m a Source #

prodPass :: Monad m => Prod m a -> m (r, a -> a) -> m r Source #

prodCensor :: Monad m => Prod m a -> (a -> a) -> m --> m Source #

prodTellItem :: Applicative f => Prod m (f a) -> a -> m () Source #

prodCensorItems :: (Monad f, Monad m) => Prod m (f a) -> (a -> f a) -> m --> m Source #

lensMapProd :: forall m a b. (Monad m, Monoid a, Monoid b) => Lens' a b -> Prod m a -> Prod m b Source #

writerProd :: (Monad m, Monoid w) => Prod (WriterT w m) w Source #

foldProd :: forall f m a. (Applicative f, Foldable f, Applicative m) => Prod m a -> Prod m (f a) Source #