morphisms-functors-0.1.7: Functors, theirs compositions and transformations

Safe HaskellSafe
LanguageHaskell2010

Control.Functor.Covariant

Synopsis

Documentation

class Covariant (t :: * -> *) where Source #

When providing a new instance, you should ensure it satisfies the two laws:
* Identity morphism: comap identity ≡ identity
* Composition of morphisms: comap (f . g) ≡ comap f . comap g

Minimal complete definition

(<$>)

Methods

(<$>) :: (a -> b) -> t a -> t b infixl 4 Source #

Infix version of comap

comap :: (a -> b) -> t a -> t b Source #

Prefix version of <$>

(<$) :: a -> t b -> t a infixl 4 Source #

Replace all locations in the input with the same value

($>) :: t a -> b -> t b infixl 4 Source #

Flipped version of <$

void :: t a -> t () Source #

Discards the result of evaluation

Instances
Covariant Identity Source # 
Instance details

Defined in Data.Functor.Identity

Methods

(<$>) :: (a -> b) -> Identity a -> Identity b Source #

comap :: (a -> b) -> Identity a -> Identity b Source #

(<$) :: a -> Identity b -> Identity a Source #

($>) :: Identity a -> b -> Identity b Source #

void :: Identity a -> Identity () Source #

Covariant (Straight a) Source # 
Instance details

Defined in Data.Functor.Arrow.Straight

Methods

(<$>) :: (a0 -> b) -> Straight a a0 -> Straight a b Source #

comap :: (a0 -> b) -> Straight a a0 -> Straight a b Source #

(<$) :: a0 -> Straight a b -> Straight a a0 Source #

($>) :: Straight a a0 -> b -> Straight a b Source #

void :: Straight a a0 -> Straight a () Source #

Covariant (Product a) Source # 
Instance details

Defined in Data.Functor.Product

Methods

(<$>) :: (a0 -> b) -> Product a a0 -> Product a b Source #

comap :: (a0 -> b) -> Product a a0 -> Product a b Source #

(<$) :: a0 -> Product a b -> Product a a0 Source #

($>) :: Product a a0 -> b -> Product a b Source #

void :: Product a a0 -> Product a () Source #

Covariant (Yoneda t) Source # 
Instance details

Defined in Data.Functor.Yoneda

Methods

(<$>) :: (a -> b) -> Yoneda t a -> Yoneda t b Source #

comap :: (a -> b) -> Yoneda t a -> Yoneda t b Source #

(<$) :: a -> Yoneda t b -> Yoneda t a Source #

($>) :: Yoneda t a -> b -> Yoneda t b Source #

void :: Yoneda t a -> Yoneda t () Source #

Covariant (Codensity t b) Source # 
Instance details

Defined in Data.Functor.Codensity

Methods

(<$>) :: (a -> b0) -> Codensity t b a -> Codensity t b b0 Source #

comap :: (a -> b0) -> Codensity t b a -> Codensity t b b0 Source #

(<$) :: a -> Codensity t b b0 -> Codensity t b a Source #

($>) :: Codensity t b a -> b0 -> Codensity t b b0 Source #

void :: Codensity t b a -> Codensity t b () Source #

Covariant (Constant a :: * -> *) Source # 
Instance details

Defined in Data.Functor.Constant

Methods

(<$>) :: (a0 -> b) -> Constant a a0 -> Constant a b Source #

comap :: (a0 -> b) -> Constant a a0 -> Constant a b Source #

(<$) :: a0 -> Constant a b -> Constant a a0 Source #

($>) :: Constant a a0 -> b -> Constant a b Source #

void :: Constant a a0 -> Constant a () Source #

Covariant (Ran t u b) Source # 
Instance details

Defined in Data.Functor.Extension.Kan

Methods

(<$>) :: (a -> b0) -> Ran t u b a -> Ran t u b b0 Source #

comap :: (a -> b0) -> Ran t u b a -> Ran t u b b0 Source #

(<$) :: a -> Ran t u b b0 -> Ran t u b a Source #

($>) :: Ran t u b a -> b0 -> Ran t u b b0 Source #

void :: Ran t u b a -> Ran t u b () Source #

(Covariant t, Covariant u) => Covariant (T Co Co t u) Source # 
Instance details

Defined in Data.Functor.Composition.T

Methods

(<$>) :: (a -> b) -> T Co Co t u a -> T Co Co t u b Source #

comap :: (a -> b) -> T Co Co t u a -> T Co Co t u b Source #

(<$) :: a -> T Co Co t u b -> T Co Co t u a Source #

($>) :: T Co Co t u a -> b -> T Co Co t u b Source #

void :: T Co Co t u a -> T Co Co t u () Source #

(Contravariant t, Contravariant u) => Covariant (T Contra Contra t u) Source # 
Instance details

Defined in Data.Functor.Composition.T

Methods

(<$>) :: (a -> b) -> T Contra Contra t u a -> T Contra Contra t u b Source #

comap :: (a -> b) -> T Contra Contra t u a -> T Contra Contra t u b Source #

(<$) :: a -> T Contra Contra t u b -> T Contra Contra t u a Source #

($>) :: T Contra Contra t u a -> b -> T Contra Contra t u b Source #

void :: T Contra Contra t u a -> T Contra Contra t u () Source #

(Covariant t, Covariant u, Covariant v) => Covariant (TT Co Co Co t u v) Source # 
Instance details

Defined in Data.Functor.Composition.TT

Methods

(<$>) :: (a -> b) -> TT Co Co Co t u v a -> TT Co Co Co t u v b Source #

comap :: (a -> b) -> TT Co Co Co t u v a -> TT Co Co Co t u v b Source #

(<$) :: a -> TT Co Co Co t u v b -> TT Co Co Co t u v a Source #

($>) :: TT Co Co Co t u v a -> b -> TT Co Co Co t u v b Source #

void :: TT Co Co Co t u v a -> TT Co Co Co t u v () Source #

(Covariant t, Contravariant u, Contravariant v) => Covariant (TT Co Contra Contra t u v) Source # 
Instance details

Defined in Data.Functor.Composition.TT

Methods

(<$>) :: (a -> b) -> TT Co Contra Contra t u v a -> TT Co Contra Contra t u v b Source #

comap :: (a -> b) -> TT Co Contra Contra t u v a -> TT Co Contra Contra t u v b Source #

(<$) :: a -> TT Co Contra Contra t u v b -> TT Co Contra Contra t u v a Source #

($>) :: TT Co Contra Contra t u v a -> b -> TT Co Contra Contra t u v b Source #

void :: TT Co Contra Contra t u v a -> TT Co Contra Contra t u v () Source #

(Contravariant t, Covariant u, Contravariant v) => Covariant (TT Contra Co Contra t u v) Source # 
Instance details

Defined in Data.Functor.Composition.TT

Methods

(<$>) :: (a -> b) -> TT Contra Co Contra t u v a -> TT Contra Co Contra t u v b Source #

comap :: (a -> b) -> TT Contra Co Contra t u v a -> TT Contra Co Contra t u v b Source #

(<$) :: a -> TT Contra Co Contra t u v b -> TT Contra Co Contra t u v a Source #

($>) :: TT Contra Co Contra t u v a -> b -> TT Contra Co Contra t u v b Source #

void :: TT Contra Co Contra t u v a -> TT Contra Co Contra t u v () Source #

(Contravariant t, Contravariant u, Covariant v) => Covariant (TT Contra Contra Co t u v) Source # 
Instance details

Defined in Data.Functor.Composition.TT

Methods

(<$>) :: (a -> b) -> TT Contra Contra Co t u v a -> TT Contra Contra Co t u v b Source #

comap :: (a -> b) -> TT Contra Contra Co t u v a -> TT Contra Contra Co t u v b Source #

(<$) :: a -> TT Contra Contra Co t u v b -> TT Contra Contra Co t u v a Source #

($>) :: TT Contra Contra Co t u v a -> b -> TT Contra Contra Co t u v b Source #

void :: TT Contra Contra Co t u v a -> TT Contra Contra Co t u v () Source #

(Covariant t, Covariant u, Covariant v, Covariant w) => Covariant (TTT Co Co Co Co t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Co Co Co Co t u v w a -> TTT Co Co Co Co t u v w b Source #

comap :: (a -> b) -> TTT Co Co Co Co t u v w a -> TTT Co Co Co Co t u v w b Source #

(<$) :: a -> TTT Co Co Co Co t u v w b -> TTT Co Co Co Co t u v w a Source #

($>) :: TTT Co Co Co Co t u v w a -> b -> TTT Co Co Co Co t u v w b Source #

void :: TTT Co Co Co Co t u v w a -> TTT Co Co Co Co t u v w () Source #

(Covariant t, Covariant u, Contravariant v, Contravariant w) => Covariant (TTT Co Co Contra Contra t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Co Co Contra Contra t u v w a -> TTT Co Co Contra Contra t u v w b Source #

comap :: (a -> b) -> TTT Co Co Contra Contra t u v w a -> TTT Co Co Contra Contra t u v w b Source #

(<$) :: a -> TTT Co Co Contra Contra t u v w b -> TTT Co Co Contra Contra t u v w a Source #

($>) :: TTT Co Co Contra Contra t u v w a -> b -> TTT Co Co Contra Contra t u v w b Source #

void :: TTT Co Co Contra Contra t u v w a -> TTT Co Co Contra Contra t u v w () Source #

(Covariant t, Contravariant u, Covariant v, Contravariant w) => Covariant (TTT Co Contra Co Contra t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Co Contra Co Contra t u v w a -> TTT Co Contra Co Contra t u v w b Source #

comap :: (a -> b) -> TTT Co Contra Co Contra t u v w a -> TTT Co Contra Co Contra t u v w b Source #

(<$) :: a -> TTT Co Contra Co Contra t u v w b -> TTT Co Contra Co Contra t u v w a Source #

($>) :: TTT Co Contra Co Contra t u v w a -> b -> TTT Co Contra Co Contra t u v w b Source #

void :: TTT Co Contra Co Contra t u v w a -> TTT Co Contra Co Contra t u v w () Source #

(Covariant t, Contravariant u, Contravariant v, Covariant w) => Covariant (TTT Co Contra Contra Co t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Co Contra Contra Co t u v w a -> TTT Co Contra Contra Co t u v w b Source #

comap :: (a -> b) -> TTT Co Contra Contra Co t u v w a -> TTT Co Contra Contra Co t u v w b Source #

(<$) :: a -> TTT Co Contra Contra Co t u v w b -> TTT Co Contra Contra Co t u v w a Source #

($>) :: TTT Co Contra Contra Co t u v w a -> b -> TTT Co Contra Contra Co t u v w b Source #

void :: TTT Co Contra Contra Co t u v w a -> TTT Co Contra Contra Co t u v w () Source #

(Contravariant t, Covariant u, Covariant v, Contravariant w) => Covariant (TTT Contra Co Co Contra t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Contra Co Co Contra t u v w a -> TTT Contra Co Co Contra t u v w b Source #

comap :: (a -> b) -> TTT Contra Co Co Contra t u v w a -> TTT Contra Co Co Contra t u v w b Source #

(<$) :: a -> TTT Contra Co Co Contra t u v w b -> TTT Contra Co Co Contra t u v w a Source #

($>) :: TTT Contra Co Co Contra t u v w a -> b -> TTT Contra Co Co Contra t u v w b Source #

void :: TTT Contra Co Co Contra t u v w a -> TTT Contra Co Co Contra t u v w () Source #

(Contravariant t, Covariant u, Contravariant v, Covariant w) => Covariant (TTT Contra Co Contra Co t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Contra Co Contra Co t u v w a -> TTT Contra Co Contra Co t u v w b Source #

comap :: (a -> b) -> TTT Contra Co Contra Co t u v w a -> TTT Contra Co Contra Co t u v w b Source #

(<$) :: a -> TTT Contra Co Contra Co t u v w b -> TTT Contra Co Contra Co t u v w a Source #

($>) :: TTT Contra Co Contra Co t u v w a -> b -> TTT Contra Co Contra Co t u v w b Source #

void :: TTT Contra Co Contra Co t u v w a -> TTT Contra Co Contra Co t u v w () Source #

(Contravariant t, Contravariant u, Covariant v, Covariant w) => Covariant (TTT Contra Contra Co Co t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Contra Contra Co Co t u v w a -> TTT Contra Contra Co Co t u v w b Source #

comap :: (a -> b) -> TTT Contra Contra Co Co t u v w a -> TTT Contra Contra Co Co t u v w b Source #

(<$) :: a -> TTT Contra Contra Co Co t u v w b -> TTT Contra Contra Co Co t u v w a Source #

($>) :: TTT Contra Contra Co Co t u v w a -> b -> TTT Contra Contra Co Co t u v w b Source #

void :: TTT Contra Contra Co Co t u v w a -> TTT Contra Contra Co Co t u v w () Source #

(Contravariant t, Contravariant u, Contravariant v, Contravariant w) => Covariant (TTT Contra Contra Contra Contra t u v w) Source # 
Instance details

Defined in Data.Functor.Composition.TTT

Methods

(<$>) :: (a -> b) -> TTT Contra Contra Contra Contra t u v w a -> TTT Contra Contra Contra Contra t u v w b Source #

comap :: (a -> b) -> TTT Contra Contra Contra Contra t u v w a -> TTT Contra Contra Contra Contra t u v w b Source #

(<$) :: a -> TTT Contra Contra Contra Contra t u v w b -> TTT Contra Contra Contra Contra t u v w a Source #

($>) :: TTT Contra Contra Contra Contra t u v w a -> b -> TTT Contra Contra Contra Contra t u v w b Source #

void :: TTT Contra Contra Contra Contra t u v w a -> TTT Contra Contra Contra Contra t u v w () Source #