pandora-0.1.3: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Functor.Covariant

Synopsis
  • class Covariant (t :: * -> *) where
    • (<$>) :: (a -> b) -> t a -> t b
    • comap :: (a -> b) -> t a -> t b
    • (<$) :: a -> t b -> t a
    • ($>) :: t a -> b -> t b
    • void :: t a -> t ()

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 Wye Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Wye

Methods

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

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

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

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

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

Covariant Edges Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Edges

Methods

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

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

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

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

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

Covariant Identity Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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

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

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

Covariant (Yoneda t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 t => Covariant (Free t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Free

Methods

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

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

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

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

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

Covariant (Product a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 t => Covariant (Jack t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Jack

Methods

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

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

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

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

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

Covariant (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<$>) :: (a -> b) -> Conclusion e a -> Conclusion e b Source #

comap :: (a -> b) -> Conclusion e a -> Conclusion e b Source #

(<$) :: a -> Conclusion e b -> Conclusion e a Source #

($>) :: Conclusion e a -> b -> Conclusion e b Source #

void :: Conclusion e a -> Conclusion e () Source #

Covariant t => Covariant (Cofree t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Cofree

Methods

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

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

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

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

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

Covariant t => Covariant (Storage p t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Storage

Methods

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

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

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

($>) :: Storage p t a -> b -> Storage p t b Source #

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

Covariant t => Covariant (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

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

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

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

($>) :: Stateful s t a -> b -> Stateful s t b Source #

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

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

Defined in Pandora.Paradigm.Basis.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 ((->) a :: Type -> Type) Source # 
Instance details

Defined in Pandora.Pattern.Functor.Covariant

Methods

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

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

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

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

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

Covariant (Ran t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.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 (Continuation r t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Continuation

Methods

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

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

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

($>) :: Continuation r t a -> b -> Continuation r t b Source #

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

Covariant t => Covariant (Environmental e t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environmental

Methods

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

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

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

($>) :: Environmental e t a -> b -> Environmental e t b Source #

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

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

Defined in Pandora.Paradigm.Junction.Transformer

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Transformer

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Composition

Methods

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

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

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

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

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