| Portability | non-portable (MPTCs) |
|---|---|
| Stability | experimental |
| Maintainer | ekmett@gmail.com |
| Safe Haskell | None |
Data.Monoid.Monad
Contents
Actions
An Action uses glues together Monad actions with (>>)
in the manner of mapM_ from Data.Foldable. Any values returned by
reduced actions are discarded.
snocAction :: Reducer (m ()) (Action m) => Action m -> m () -> Action mSource
Efficiently avoid needlessly rebinding when using snoc on an action that already returns ()
A rewrite rule automatically applies this when possible
MonadPlus Monoid
A MonadSum turns any MonadPlus instance into a Monoid.
It also provides a Multiplicative instance for a Monad wrapped around a Monoid
and asserts that any MonadPlus applied to a Monoid forms a RightSemiNearRing
under these operations.
Constructors
| MonadSum | |
Fields
| |
Instances
| Monad m => Monad (MonadSum m) | |
| Monad m => Functor (MonadSum m) | |
| MonadPlus m => MonadPlus (MonadSum m) | |
| Monad m => Applicative (MonadSum m) | |
| MonadPlus m => Reducer (m a) (MonadSum m a) | |
| Eq (m a) => Eq (MonadSum m a) | |
| Ord (m a) => Ord (MonadSum m a) | |
| Read (m a) => Read (MonadSum m a) | |
| Show (m a) => Show (MonadSum m a) | |
| MonadPlus m => Monoid (MonadSum m a) | |
| (Monad m, Monoid a) => Multiplicative (MonadSum m a) |
Lifting Modules
Instances
| (Reducer c m, Monad f) => Reducer c (Mon f m) | |
| Monad f => Monad (Mon f) | |
| Functor f => Functor (Mon f) | |
| MonadPlus f => MonadPlus (Mon f) | |
| Eq (f m) => Eq (Mon f m) | |
| Ord (f m) => Ord (Mon f m) | |
| Read (f m) => Read (Mon f m) | |
| Show (f m) => Show (Mon f m) | |
| (Monoid m, Monad f) => Monoid (Mon f m) | |
| (Group m, Monad f) => Group (Mon f m) |