functor-monad-0.1.1.0: FFunctor: functors on (the usual) Functors
Safe HaskellSafe-Inferred
LanguageHaskell2010

FFunctor.FCompose

Description

Composition of two FFunctors

Synopsis

Documentation

newtype FCompose ff gg h x Source #

Composision of FFunctors. Just like any functor, composition of two FFunctor is FFunctor again.

Constructors

FCompose 

Fields

Instances

Instances details
(FFunctor ff, FFunctor gg) => FFunctor (FCompose ff gg) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

ffmap :: forall (g :: Type -> Type) (h :: Type -> Type) x. (Functor g, Functor h) => (g ~> h) -> FCompose ff gg g x -> FCompose ff gg h x Source #

(FStrong ff, FStrong gg) => FStrong (FCompose ff gg) Source # 
Instance details

Defined in FStrong

Methods

fstrength :: forall (g :: Type -> Type) (h :: Type -> Type). Functor g => Day (FCompose ff gg g) h ~> FCompose ff gg (Day g h) Source #

mapCurried :: forall (g :: Type -> Type) (h :: Type -> Type). (Functor g, Functor h) => Curried g h ~> Curried (FCompose ff gg g) (FCompose ff gg h) Source #

(Adjunction ff uu, Adjunction gg vv) => Adjunction (FCompose ff gg) (FCompose vv uu) Source # 
Instance details

Defined in FFunctor.Adjunction

Methods

unit :: forall (g :: Type -> Type). Functor g => g ~> FCompose vv uu (FCompose ff gg g) Source #

counit :: forall (g :: Type -> Type). Functor g => FCompose ff gg (FCompose vv uu g) ~> g Source #

leftAdjunct :: forall (g :: Type -> Type) (h :: Type -> Type). (Functor g, Functor h) => (FCompose ff gg g ~> h) -> g ~> FCompose vv uu h Source #

rightAdjunct :: forall (g :: Type -> Type) (h :: Type -> Type). (Functor g, Functor h) => (g ~> FCompose vv uu h) -> FCompose ff gg g ~> h Source #

Foldable (ff (gg h)) => Foldable (FCompose ff gg h) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

fold :: Monoid m => FCompose ff gg h m -> m #

foldMap :: Monoid m => (a -> m) -> FCompose ff gg h a -> m #

foldMap' :: Monoid m => (a -> m) -> FCompose ff gg h a -> m #

foldr :: (a -> b -> b) -> b -> FCompose ff gg h a -> b #

foldr' :: (a -> b -> b) -> b -> FCompose ff gg h a -> b #

foldl :: (b -> a -> b) -> b -> FCompose ff gg h a -> b #

foldl' :: (b -> a -> b) -> b -> FCompose ff gg h a -> b #

foldr1 :: (a -> a -> a) -> FCompose ff gg h a -> a #

foldl1 :: (a -> a -> a) -> FCompose ff gg h a -> a #

toList :: FCompose ff gg h a -> [a] #

null :: FCompose ff gg h a -> Bool #

length :: FCompose ff gg h a -> Int #

elem :: Eq a => a -> FCompose ff gg h a -> Bool #

maximum :: Ord a => FCompose ff gg h a -> a #

minimum :: Ord a => FCompose ff gg h a -> a #

sum :: Num a => FCompose ff gg h a -> a #

product :: Num a => FCompose ff gg h a -> a #

(FFunctor ff, FFunctor gg, Traversable (ff (gg h)), Functor h) => Traversable (FCompose ff gg h) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

traverse :: Applicative f => (a -> f b) -> FCompose ff gg h a -> f (FCompose ff gg h b) #

sequenceA :: Applicative f => FCompose ff gg h (f a) -> f (FCompose ff gg h a) #

mapM :: Monad m => (a -> m b) -> FCompose ff gg h a -> m (FCompose ff gg h b) #

sequence :: Monad m => FCompose ff gg h (m a) -> m (FCompose ff gg h a) #

(FFunctor ff, FFunctor gg, Functor h) => Functor (FCompose ff gg h) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

fmap :: (a -> b) -> FCompose ff gg h a -> FCompose ff gg h b #

(<$) :: a -> FCompose ff gg h b -> FCompose ff gg h a #

Show (ff (gg h) x) => Show (FCompose ff gg h x) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

showsPrec :: Int -> FCompose ff gg h x -> ShowS #

show :: FCompose ff gg h x -> String #

showList :: [FCompose ff gg h x] -> ShowS #

Eq (ff (gg h) x) => Eq (FCompose ff gg h x) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

(==) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

(/=) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

Ord (ff (gg h) x) => Ord (FCompose ff gg h x) Source # 
Instance details

Defined in FFunctor.FCompose

Methods

compare :: FCompose ff gg h x -> FCompose ff gg h x -> Ordering #

(<) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

(<=) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

(>) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

(>=) :: FCompose ff gg h x -> FCompose ff gg h x -> Bool #

max :: FCompose ff gg h x -> FCompose ff gg h x -> FCompose ff gg h x #

min :: FCompose ff gg h x -> FCompose ff gg h x -> FCompose ff gg h x #

type (⊚) = FCompose infixl 7 Source #

Infix type operator for FCompose