-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | strict versions of many things in base
--
-- This package provides strict versions of many functions in base,
-- including many folding functions not present in there.
@package constrictor
@version 0.1.1.0
-- | This library provides strict versions of many functions in base, as
-- well as a few functions that do not have lazy versions that exist in
-- base (see the section on Folds).
module Constrictor
-- | Strict version of <$>
(<$!>) :: Monad m => (a -> b) -> m a -> m b
infixl 4 <$!>
fmap' :: Monad m => (a -> b) -> m a -> m b
infixl 4 `fmap'`
-- | Strict version of liftM.
--
-- Note this is equivalent to <$!>, and is provided for
-- convenience.
liftM' :: Monad m => (a -> b) -> m a -> m b
infixl 4 `liftM'`
-- | Strict version of liftM2.
liftM2' :: Monad m => (a -> b -> c) -> m a -> m b -> m c
-- | Strict version of liftM3.
liftM3' :: Monad m => (a -> b -> c -> d) -> m a -> m b -> m c -> m d
-- | Strict version of liftM4.
liftM4' :: Monad m => (a -> b -> c -> d -> e) -> m a -> m b -> m c -> m d -> m e
-- | Strict version of liftM5.
liftM5' :: Monad m => (a -> b -> c -> d -> e -> f) -> m a -> m b -> m c -> m d -> m e -> m f
-- | Strict version of ap
ap' :: Monad m => m (a -> b) -> m a -> m b
-- | Strict version of traverse.
traverse' :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
-- | Strict version of mapM.
--
-- This is just traverse' specialised to Monad.
mapM' :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
-- | Map each element of a foldable structure to a monoid, and combine the
-- results. This function is right-associative.
--
-- Note that this is equivalent to foldMap.
foldrMap :: (Monoid m, Foldable t) => (a -> m) -> t a -> m
-- | Map each element of a foldable structure to a monoid, and combine the
-- results. This function is left-associative.
--
-- The operator is applied lazily. For a strict version, see
-- foldlMap'.
foldlMap :: (Monoid m, Foldable t) => (a -> m) -> t a -> m
-- | Map each element of a foldable structure to a monoid, and combine the
-- results. This function is right-associative.
--
-- Note that this is equivalent to foldMap, but is strict.
foldrMap' :: (Monoid m, Foldable t) => (a -> m) -> t a -> m
-- | Map each element of a foldable structure to a monoid, and combine the
-- results. This function is left-associative.
--
-- The operator is applied strictly. For a lazy version, see
-- foldlMap.
foldlMap' :: (Monoid m, Foldable t) => (a -> m) -> t a -> m
-- | 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
-- | 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
-- | A wrapped applicative functor. Please note that base 4.12.0.0 will
-- include this type, and it will be removed from this library at that
-- point.
newtype Ap f a
Ap :: f a -> Ap f a
[getAp] :: Ap f a -> f a
instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Constrictor.Ap f)
instance GHC.Show.Show (f a) => GHC.Show.Show (Constrictor.Ap f a)
instance GHC.Read.Read (f a) => GHC.Read.Read (Constrictor.Ap f a)
instance GHC.Classes.Ord (f a) => GHC.Classes.Ord (Constrictor.Ap f a)
instance GHC.Num.Num (f a) => GHC.Num.Num (Constrictor.Ap f a)
instance GHC.Base.MonadPlus f => GHC.Base.MonadPlus (Constrictor.Ap f)
instance Control.Monad.Fix.MonadFix f => Control.Monad.Fix.MonadFix (Constrictor.Ap f)
instance Control.Monad.Fail.MonadFail f => Control.Monad.Fail.MonadFail (Constrictor.Ap f)
instance GHC.Base.Monad f => GHC.Base.Monad (Constrictor.Ap f)
instance GHC.Generics.Generic1 (Constrictor.Ap f)
instance GHC.Generics.Generic (Constrictor.Ap f a)
instance GHC.Base.Functor f => GHC.Base.Functor (Constrictor.Ap f)
instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Constrictor.Ap f)
instance GHC.Classes.Eq (f a) => GHC.Classes.Eq (Constrictor.Ap f a)
instance GHC.Enum.Enum (f a) => GHC.Enum.Enum (Constrictor.Ap f a)
instance GHC.Base.Applicative f => GHC.Base.Applicative (Constrictor.Ap f)
instance GHC.Base.Alternative f => GHC.Base.Alternative (Constrictor.Ap f)
instance (GHC.Base.Applicative f, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Constrictor.Ap f a)
instance (GHC.Base.Applicative f, GHC.Base.Monoid a) => GHC.Base.Monoid (Constrictor.Ap f a)