monadology-0.1
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 #

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

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