-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | strict versions of many things in base -- -- strict versions of many functions in base, including some functions -- not present, such as foldlMapAM, foldrMapAM. @package constrictor @version 0.1.0.1 module Control.Monad.Constrictor -- | Strict version of <$>. (<$!>) :: Monad m => (a -> b) -> m a -> m b infixl 4 <$!> -- | Strict version of fmap. -- -- Note this is equivalent to <$!>, and is provided for -- convenience. fmap' :: Monad m => (a -> b) -> m a -> m b -- | Strict version of liftM. -- -- Note this is equivalent to <$!>, and is provided for -- convenience. liftM' :: Monad m => (a -> b) -> m a -> m b -- | Strict version of liftM2. liftM2' :: Monad m => (a -> b -> c) -> m a -> m b -> m c -- | Strict version of mapM. -- -- This is just traverse' specialised to Monad. mapM' :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) -- | Strict version of traverse. -- -- Note the increased constraint from Functor to -- Applicative. traverse' :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) newtype Ap f a Ap :: f a -> Ap f a [getAp] :: Ap f a -> f a -- | 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. 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 -- | Lazy in the monoidal accumulator. Monoidal accumulation happens from -- left to right. foldlMapA :: forall t b a f. (Foldable t, Monoid b, Applicative f) => (a -> f b) -> t a -> f b -- | Lazy in the monoidal accumulator. Monoidal accumulation happens from -- left to right. foldrMapA :: forall t b a f. (Foldable t, Monoid b, Applicative f) => (a -> f b) -> t a -> f b instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Control.Monad.Constrictor.Ap f) instance GHC.Show.Show (f a) => GHC.Show.Show (Control.Monad.Constrictor.Ap f a) instance GHC.Read.Read (f a) => GHC.Read.Read (Control.Monad.Constrictor.Ap f a) instance GHC.Classes.Ord (f a) => GHC.Classes.Ord (Control.Monad.Constrictor.Ap f a) instance GHC.Base.Monad f => GHC.Base.Monad (Control.Monad.Constrictor.Ap f) instance GHC.Generics.Generic1 (Control.Monad.Constrictor.Ap f) instance GHC.Generics.Generic (Control.Monad.Constrictor.Ap f a) instance GHC.Base.Functor f => GHC.Base.Functor (Control.Monad.Constrictor.Ap f) instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Control.Monad.Constrictor.Ap f) instance GHC.Classes.Eq (f a) => GHC.Classes.Eq (Control.Monad.Constrictor.Ap f a) instance GHC.Base.Applicative f => GHC.Base.Applicative (Control.Monad.Constrictor.Ap f) instance (GHC.Base.Applicative f, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Control.Monad.Constrictor.Ap f a) instance (GHC.Base.Applicative f, GHC.Base.Monoid a) => GHC.Base.Monoid (Control.Monad.Constrictor.Ap f a)