proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Enriched.Dagger

Documentation

class (Dagger k, Profunctor p) => DaggerProfunctor (p :: k +-> k) where Source Github #

Methods

dagger :: forall (a :: k) (b :: k). p a b -> p b a Source Github #

Instances

Instances details
DaggerProfunctor ZX Source Github # 
Instance details

Defined in Proarrow.Category.Instance.ZX

Methods

dagger :: forall (a :: Nat) (b :: Nat). ZX a b -> ZX b a Source Github #

DaggerProfunctor FinRel Source Github # 
Instance details

Defined in Proarrow.Category.Instance.FinRel

Methods

dagger :: forall (a :: FINREL) (b :: FINREL). FinRel a b -> FinRel b a Source Github #

DaggerProfunctor Zero Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Zero

Methods

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

DaggerProfunctor Unit Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Unit

Methods

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

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

Defined in Proarrow.Profunctor.Identity

Methods

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

Dagger k => DaggerProfunctor (InitialProfunctor :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Initial

Methods

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

Dagger k => DaggerProfunctor (TerminalProfunctor :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Terminal

Methods

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

DaggerProfunctor p => DaggerProfunctor (Wrapped p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Wrapped

Methods

dagger :: forall (a :: k) (b :: k). Wrapped p a b -> Wrapped p b a Source Github #

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

Defined in Proarrow.Profunctor.Coproduct

Methods

dagger :: forall (a :: k) (b :: k). (p :+: q) a b -> (p :+: q) b a Source Github #

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

Defined in Proarrow.Profunctor.Product

Methods

dagger :: forall (a :: k) (b :: k). (p :*: q) a b -> (p :*: q) b a Source Github #

HasPushouts k => DaggerProfunctor (Cospan :: COSPAN k -> COSPAN k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Cospan

Methods

dagger :: forall (a :: COSPAN k) (b :: COSPAN k). Cospan a b -> Cospan b a Source Github #

DaggerProfunctor (Codiscrete :: CODISCRETE k -> CODISCRETE k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Discrete

Methods

dagger :: forall (a :: CODISCRETE k) (b :: CODISCRETE k). Codiscrete a b -> Codiscrete b a Source Github #

DaggerProfunctor (Discrete :: DISCRETE k -> DISCRETE k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Discrete

Methods

dagger :: forall (a :: DISCRETE k) (b :: DISCRETE k). Discrete a b -> Discrete b a Source Github #

RealFloat a => DaggerProfunctor (Mat :: MatK (Complex a) -> MatK (Complex a) -> Type) Source Github # 
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 Github #

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

Defined in Proarrow.Category.Instance.Mat

Methods

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

HasPullbacks k => DaggerProfunctor (Span :: SPAN k -> SPAN k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Span

Methods

dagger :: forall (a :: SPAN k) (b :: SPAN k). Span a b -> Span b a Source Github #

DaggerProfunctor p => DaggerProfunctor (List p :: LIST j -> LIST j -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.List

Methods

dagger :: forall (a :: LIST j) (b :: LIST j). List p a b -> List p b a Source Github #

(DaggerProfunctor p, Promonad p) => DaggerProfunctor (Kleisli :: KLEISLI p -> KLEISLI p -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Kleisli

Methods

dagger :: forall (a :: KLEISLI p) (b :: KLEISLI p). Kleisli a b -> Kleisli b a Source Github #

(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :++: q :: COPRODUCT j1 j2 -> COPRODUCT j1 j2 -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Coproduct

Methods

dagger :: forall (a :: COPRODUCT j1 j2) (b :: COPRODUCT j1 j2). (p :++: q) a b -> (p :++: q) b a Source Github #

(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :**: q :: (j1, j2) -> (j1, j2) -> Type) Source Github # 
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 Github #