| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Constrictor
Contents
- (<$!>) :: Monad m => (a -> b) -> m a -> m b
- fmap' :: Monad m => (a -> b) -> m a -> m b
- liftM' :: Monad m => (a -> b) -> m a -> m b
- liftM2' :: Monad m => (a -> b -> c) -> m a -> m b -> m c
- mapM' :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
- traverse' :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
- newtype Ap f a = Ap {
- getAp :: f a
- foldlMapM' :: forall t b a m. (Foldable t, Monoid b, Monad m) => (a -> m b) -> t a -> m b
- foldrMapM' :: forall t b a m. (Foldable t, Monoid b, Monad m) => (a -> m b) -> t a -> m b
- foldlMapA :: forall t b a f. (Foldable t, Monoid b, Applicative f) => (a -> f b) -> t a -> f b
- foldrMapA :: forall t b a f. (Foldable t, Monoid b, Applicative f) => (a -> f b) -> t a -> f b
strict monadic functions
mapM' :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) Source #
strict applicative functions
traverse' :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) Source #
Strict version of traverse.
Note the increased constraint from Functor to Applicative.
a wrapped applicative functor
Instances
| Monad f => Monad (Ap f) Source # | |
| Functor f => Functor (Ap f) Source # | |
| Applicative f => Applicative (Ap f) Source # | |
| Foldable f => Foldable (Ap f) Source # | |
| Traversable f => Traversable (Ap f) Source # | |
| Generic1 * (Ap f) Source # | |
| Eq (f a) => Eq (Ap f a) Source # | |
| Ord (f a) => Ord (Ap f a) Source # | |
| Read (f a) => Read (Ap f a) Source # | |
| Show (f a) => Show (Ap f a) Source # | |
| Generic (Ap f a) Source # | |
| (Applicative f, Semigroup a) => Semigroup (Ap f a) Source # | |
| (Applicative f, Monoid a) => Monoid (Ap f a) Source # | |
| type Rep1 * (Ap f) Source # | |
| type Rep (Ap f a) Source # | |
strict monadic folds
foldlMapM' :: forall t b a m. (Foldable t, Monoid b, Monad m) => (a -> m b) -> t a -> m b Source #
Strict in the monoidal accumulator. For monads strict in the left argument of bind, this will run in constant space. Monoidal accumulation happens from left to right.