proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Category.Dagger

Documentation

class Profunctor p => DaggerProfunctor (p :: PRO j j) where Source Comments #

Methods

dagger :: forall (a :: j) (b :: j). p a b -> p b a Source Comments #

Instances

Instances details
DaggerProfunctor Zero Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

dagger :: forall (a :: VOID) (b :: VOID). Zero a b -> Zero b a Source Comments #

DaggerProfunctor Unit Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Unit

Methods

dagger :: forall (a :: ()) (b :: ()). Unit a b -> Unit b a Source Comments #

Dagger k => DaggerProfunctor (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Identity

Methods

dagger :: forall (a :: k) (b :: k). Id a b -> Id b a Source Comments #

CategoryOf k => DaggerProfunctor (InitialProfunctor :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Initial

Methods

dagger :: forall (a :: k) (b :: k). InitialProfunctor a b -> InitialProfunctor b a Source Comments #

CategoryOf k => DaggerProfunctor (TerminalProfunctor :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Terminal

Methods

dagger :: forall (a :: k) (b :: k). TerminalProfunctor a b -> TerminalProfunctor b a Source Comments #

DaggerProfunctor p => DaggerProfunctor (Wrapped p :: j -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Wrapped

Methods

dagger :: forall (a :: j) (b :: j). Wrapped p a b -> Wrapped p b a Source Comments #

(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :+: q :: j -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Coproduct

Methods

dagger :: forall (a :: j) (b :: j). (p :+: q) a b -> (p :+: q) b a Source Comments #

(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :*: q :: j -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Product

Methods

dagger :: forall (a :: j) (b :: j). (p :*: q) a b -> (p :*: q) b a Source Comments #

RealFloat a => DaggerProfunctor (Mat :: MatK (Complex a) -> MatK (Complex a) -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Mat

Methods

dagger :: forall (a0 :: MatK (Complex a)) (b :: MatK (Complex a)). Mat a0 b -> Mat b a0 Source Comments #

Num a => DaggerProfunctor (Mat :: MatK a -> MatK a -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Mat

Methods

dagger :: forall (a0 :: MatK a) (b :: MatK a). Mat a0 b -> Mat b a0 Source Comments #

DaggerProfunctor (PoAsCat :: POCATK (DISCRETE k) -> POCATK (DISCRETE k) -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.PreorderAsCategory

Methods

dagger :: forall (a :: POCATK (DISCRETE k)) (b :: POCATK (DISCRETE k)). PoAsCat a b -> PoAsCat b a Source Comments #

(Dagger j, Dagger k) => DaggerProfunctor (((~>) :: CAT j) :++: ((~>) :: CAT k) :: COPRODUCT j k -> COPRODUCT j k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Coproduct

Methods

dagger :: forall (a :: COPRODUCT j k) (b :: COPRODUCT j k). (((~>) :: CAT j) :++: ((~>) :: CAT k)) a b -> (((~>) :: CAT j) :++: ((~>) :: CAT k)) b a Source Comments #

(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :**: q :: (j1, j2) -> (j1, j2) -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Product

Methods

dagger :: forall (a :: (j1, j2)) (b :: (j1, j2)). (p :**: q) a b -> (p :**: q) b a Source Comments #

class DaggerProfunctor ((~>) :: CAT k) => Dagger k Source Comments #

Instances

Instances details
DaggerProfunctor ((~>) :: CAT k) => Dagger k Source Comments # 
Instance details

Defined in Proarrow.Category.Dagger