Portability | MTPCs, FDs, Rank2 |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Infered |
- type Action m a c = forall f r. Effective m r f => (c -> f c) -> a -> f a
- act :: Monad m => (a -> m c) -> Action m a c
- acts :: Action m (m a) a
- perform :: Monad m => Acting m c a c -> a -> m c
- liftAct :: (MonadTrans t, Monad m) => Acting m c a c -> Action (t m) a c
- (^!) :: Monad m => a -> Acting m c a c -> m c
- type MonadicFold m a c = forall f r. (Effective m r f, Applicative f) => (c -> f c) -> a -> f a
- type Acting m r a c = (c -> Effect m r c) -> a -> Effect m r a
Composable Actions
Folds with Effecs
type MonadicFold m a c = forall f r. (Effective m r f, Applicative f) => (c -> f c) -> a -> f aSource
A MonadicFold
is a Fold
enriched with access to a Monad
for side-effects.
Every Fold
can be used as a MonadicFold
, that simply ignores the access to the Monad
.
You can compose a MonadicFold
with another MonadicFold
using (.
) from the Prelude
.