Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Prod m a = MkProd {
- prodTell :: a -> m ()
- prodCollect :: forall r. m r -> m (r, a)
- prodCollect_ :: Functor m => Prod m a -> m () -> m a
- prodListen :: Monad m => Prod m a -> forall r. m r -> m (r, a)
- prodListen_ :: Monad m => Prod m a -> m () -> m a
- prodPass :: Monad m => Prod m a -> m (r, a -> a) -> m r
- prodCensor :: Monad m => Prod m a -> (a -> a) -> m --> m
- prodTellItem :: Applicative f => Prod m (f a) -> a -> m ()
- prodCensorItems :: (Monad f, Monad m) => Prod m (f a) -> (a -> f a) -> m --> m
- lensMapProd :: forall m a b. (Monad m, Monoid a, Monoid b) => Lens' a b -> Prod m a -> Prod m b
- liftProd :: (MonadTransTunnel t, Monad m) => Prod m --> Prod (t m)
- writerProd :: (Monad m, Monoid w) => Prod (WriterT w m) w
- foldProd :: forall f m a. (Applicative f, Foldable f, Applicative m) => Prod m a -> Prod m (f a)
Documentation
A product of a monad (as in WriterT
).
MkProd | |
|
Instances
Functor m => Invariant (Prod m) Source # | |
Defined in Control.Monad.Ology.Data.Prod | |
Applicative m => Productable (Prod m) Source # | |
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 #
prodTellItem :: Applicative f => Prod m (f a) -> a -> m () Source #
lensMapProd :: forall m a b. (Monad m, Monoid a, Monoid b) => Lens' a b -> Prod m a -> Prod m b Source #
foldProd :: forall f m a. (Applicative f, Foldable f, Applicative m) => Prod m a -> Prod m (f a) Source #