Safe Haskell  Safe 

Language  Haskell2010 
Documentation
newtype Compose (f :: k > *) (g :: k1 > k) (a :: k1) :: forall k k1. (k > *) > (k1 > k) > k1 > * infixr 9 #
Righttoleft composition of functors. The composition of applicative functors is always applicative, but the composition of monads is not always a monad.
Compose infixr 9  

Instances
Functor f => Generic1 (Compose f g :: k > *)  
Functor f => MFunctor (Compose f :: (* > *) > * > *)  
Sieve (ReifiedIndexedFold i) (Compose [] ((,) i))  
Defined in Control.Lens.Reified sieve :: ReifiedIndexedFold i a b > a > Compose [] ((,) i) b #  
(Sieve p f, Sieve q g) => Sieve (Procompose p q) (Compose g f)  
Defined in Data.Profunctor.Composition sieve :: Procompose p q a b > a > Compose g f b #  
(Cosieve p f, Cosieve q g) => Cosieve (Procompose p q) (Compose f g)  
Defined in Data.Profunctor.Composition cosieve :: Procompose p q a b > Compose f g a > b #  
(Functor f, Functor g) => Functor (Compose f g)  Since: base4.9.0.0 
(Applicative f, Applicative g) => Applicative (Compose f g)  Since: base4.9.0.0 
Defined in Data.Functor.Compose  
(Foldable f, Foldable g) => Foldable (Compose f g)  Since: base4.9.0.0 
Defined in Data.Functor.Compose fold :: Monoid m => Compose f g m > m # foldMap :: Monoid m => (a > m) > Compose f g a > m # foldr :: (a > b > b) > b > Compose f g a > b # foldr' :: (a > b > b) > b > Compose f g a > b # foldl :: (b > a > b) > b > Compose f g a > b # foldl' :: (b > a > b) > b > Compose f g a > b # foldr1 :: (a > a > a) > Compose f g a > a # foldl1 :: (a > a > a) > Compose f g a > a # toList :: Compose f g a > [a] # null :: Compose f g a > Bool # length :: Compose f g a > Int # elem :: Eq a => a > Compose f g a > Bool # maximum :: Ord a => Compose f g a > a # minimum :: Ord a => Compose f g a > a #  
(Traversable f, Traversable g) => Traversable (Compose f g)  Since: base4.9.0.0 
Defined in Data.Functor.Compose  
(Alternative f, Applicative g) => Alternative (Compose f g)  Since: base4.9.0.0 
(Distributive f, Distributive g) => Distributive (Compose f g)  
Defined in Data.Distributive  
(Functor f, Contravariant g) => Contravariant (Compose f g)  
(Representable f, Representable g) => Representable (Compose f g)  
(ToJSON1 f, ToJSON1 g) => ToJSON1 (Compose f g)  
Defined in Data.Aeson.Types.ToJSON liftToJSON :: (a > Value) > ([a] > Value) > Compose f g a > Value # liftToJSONList :: (a > Value) > ([a] > Value) > [Compose f g a] > Value # liftToEncoding :: (a > Encoding) > ([a] > Encoding) > Compose f g a > Encoding # liftToEncodingList :: (a > Encoding) > ([a] > Encoding) > [Compose f g a] > Encoding #  
(FromJSON1 f, FromJSON1 g) => FromJSON1 (Compose f g)  
(Eq1 f, Eq1 g) => Eq1 (Compose f g)  Since: base4.9.0.0 
(Ord1 f, Ord1 g) => Ord1 (Compose f g)  Since: base4.9.0.0 
Defined in Data.Functor.Compose  
(Read1 f, Read1 g) => Read1 (Compose f g)  Since: base4.9.0.0 
Defined in Data.Functor.Compose liftReadsPrec :: (Int > ReadS a) > ReadS [a] > Int > ReadS (Compose f g a) # liftReadList :: (Int > ReadS a) > ReadS [a] > ReadS [Compose f g a] # liftReadPrec :: ReadPrec a > ReadPrec [a] > ReadPrec (Compose f g a) # liftReadListPrec :: ReadPrec a > ReadPrec [a] > ReadPrec [Compose f g a] #  
(Show1 f, Show1 g) => Show1 (Compose f g)  Since: base4.9.0.0 
(Functor f, Functor g, Compactable g) => Compactable (Compose f g)  
Defined in Control.Compactable compact :: Compose f g (Maybe a) > Compose f g a # separate :: Compose f g (Either l r) > (Compose f g l, Compose f g r) # filter :: (a > Bool) > Compose f g a > Compose f g a # partition :: (a > Bool) > Compose f g a > (Compose f g a, Compose f g a) # fmapMaybe :: Functor (Compose f g) => (a > Maybe b) > Compose f g a > Compose f g b # fmapEither :: Functor (Compose f g) => (a > Either l r) > Compose f g a > (Compose f g l, Compose f g r) # applyMaybe :: Applicative (Compose f g) => Compose f g (a > Maybe b) > Compose f g a > Compose f g b # applyEither :: Applicative (Compose f g) => Compose f g (a > Either l r) > Compose f g a > (Compose f g l, Compose f g r) # bindMaybe :: Monad (Compose f g) => Compose f g a > (a > Compose f g (Maybe b)) > Compose f g b # bindEither :: Monad (Compose f g) => Compose f g a > (a > Compose f g (Either l r)) > (Compose f g l, Compose f g r) # traverseMaybe :: (Applicative g0, Traversable (Compose f g)) => (a > g0 (Maybe b)) > Compose f g a > g0 (Compose f g b) # traverseEither :: (Applicative g0, Traversable (Compose f g)) => (a > g0 (Either l r)) > Compose f g a > g0 (Compose f g l, Compose f g r) #  
(Applicative f, Divisible g) => Divisible (Compose f g)  
(Applicative f, Decidable g) => Decidable (Compose f g)  
(NFData1 f, NFData1 g) => NFData1 (Compose f g)  Since: deepseq1.4.3.0 
Defined in Control.DeepSeq  
(Hashable1 f, Hashable1 g) => Hashable1 (Compose f g)  
Defined in Data.Hashable.Class  
(Apply f, Apply g) => Apply (Compose f g)  
(Traversable1 f, Traversable1 g) => Traversable1 (Compose f g)  
(Pointed p, Pointed q) => Pointed (Compose p q)  
Defined in Data.Pointed  
(Copointed p, Copointed q) => Copointed (Compose p q)  
Defined in Data.Copointed  
(Foldable1 f, Foldable1 g) => Foldable1 (Compose f g)  
(Plus f, Functor g) => Plus (Compose f g)  
Defined in Data.Functor.Plus  
(Alt f, Functor g) => Alt (Compose f g)  
(Eq1 f, Eq1 g, Eq a) => Eq (Compose f g a)  Since: base4.9.0.0 
(Typeable a, Typeable f, Typeable g, Typeable k1, Typeable k2, Data (f (g a))) => Data (Compose f g a)  
Defined in Data.Functor.Compose gfoldl :: (forall d b. Data d => c (d > b) > d > c b) > (forall g0. g0 > c g0) > Compose f g a > c (Compose f g a) # gunfold :: (forall b r. Data b => c (b > r) > c r) > (forall r. r > c r) > Constr > c (Compose f g a) # toConstr :: Compose f g a > Constr # dataTypeOf :: Compose f g a > DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) > Maybe (c (Compose f g a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) > Maybe (c (Compose f g a)) # gmapT :: (forall b. Data b => b > b) > Compose f g a > Compose f g a # gmapQl :: (r > r' > r) > r > (forall d. Data d => d > r') > Compose f g a > r # gmapQr :: (r' > r > r) > r > (forall d. Data d => d > r') > Compose f g a > r # gmapQ :: (forall d. Data d => d > u) > Compose f g a > [u] # gmapQi :: Int > (forall d. Data d => d > u) > Compose f g a > u # gmapM :: Monad m => (forall d. Data d => d > m d) > Compose f g a > m (Compose f g a) # gmapMp :: MonadPlus m => (forall d. Data d => d > m d) > Compose f g a > m (Compose f g a) # gmapMo :: MonadPlus m => (forall d. Data d => d > m d) > Compose f g a > m (Compose f g a) #  
(Ord1 f, Ord1 g, Ord a) => Ord (Compose f g a)  Since: base4.9.0.0 
Defined in Data.Functor.Compose compare :: Compose f g a > Compose f g a > Ordering # (<) :: Compose f g a > Compose f g a > Bool # (<=) :: Compose f g a > Compose f g a > Bool # (>) :: Compose f g a > Compose f g a > Bool # (>=) :: Compose f g a > Compose f g a > Bool #  
(Read1 f, Read1 g, Read a) => Read (Compose f g a)  Since: base4.9.0.0 
(Show1 f, Show1 g, Show a) => Show (Compose f g a)  Since: base4.9.0.0 
Generic (Compose f g a)  
(Hashable1 f, Hashable1 g, Hashable a) => Hashable (Compose f g a)  In general, 
Defined in Data.Hashable.Class  
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Compose f g a)  
Defined in Data.Aeson.Types.ToJSON  
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Compose f g a)  
(NFData1 f, NFData1 g, NFData a) => NFData (Compose f g a)  Since: deepseq1.4.3.0 
Defined in Control.DeepSeq  
Wrapped (Compose f g a)  
t ~ Compose f' g' a' => Rewrapped (Compose f g a) t  
Defined in Control.Lens.Wrapped  
type Rep1 (Compose f g :: k > *)  
Defined in Data.Functor.Compose  
type Rep (Compose f g)  
Defined in Data.Functor.Rep  
type Rep (Compose f g a)  
Defined in Data.Functor.Compose  
type Unwrapped (Compose f g a)  
Defined in Control.Lens.Wrapped 