proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Instance.Prof

Documentation

data Prof (p :: j +-> k) (q :: j +-> k) where Source Github #

Constructors

Prof 

Fields

Instances

Instances details
Promonad (Prof :: (j +-> k) -> (j +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Prof

Methods

id :: forall (a :: j +-> k). Ob a => Prof a a Source Github #

(.) :: forall (b :: j +-> k) (c :: j +-> k) (a :: j +-> k). Prof b c -> Prof a b -> Prof a c Source Github #

(CategoryOf j, CategoryOf k) => Strong (PROD (j +-> k)) (Prof :: (j +-> k) -> (j +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Object.BinaryProduct

Methods

act :: forall (a :: PROD (j +-> k)) (b :: PROD (j +-> k)) (x :: j +-> k) (y :: j +-> k). (a ~> b) -> Prof x y -> Prof (Act a x) (Act b y) Source Github #

(Monoidal j, Monoidal k) => MonoidalProfunctor (Prof :: (j +-> k) -> (j +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

par0 :: Prof (Unit :: j +-> k) (Unit :: j +-> k) Source Github #

par :: forall (x1 :: j +-> k) (x2 :: j +-> k) (y1 :: j +-> k) (y2 :: j +-> k). Prof x1 x2 -> Prof y1 y2 -> Prof (x1 ** y1) (x2 ** y2) Source Github #

Profunctor (Prof :: (j +-> k) -> (j +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Prof

Methods

dimap :: forall (c :: j +-> k) (a :: j +-> k) (b :: j +-> k) (d :: j +-> k). (c ~> a) -> (b ~> d) -> Prof a b -> Prof c d Source Github #

(\\) :: forall (a :: j +-> k) (b :: j +-> k) r. ((Ob a, Ob b) => r) -> Prof a b -> r Source Github #

(Monoidal j, Monoidal k) => Strong (j +-> k) (Prof :: (j +-> k) -> (j +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Day

Methods

act :: forall (a :: j +-> k) (b :: j +-> k) (x :: j +-> k) (y :: j +-> k). (a ~> b) -> Prof x y -> Prof (Act a x) (Act b y) Source Github #

Thin k => ThinProfunctor (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Rep

Methods

arr :: forall (a :: REPK j k) (b :: REPK j k). (Ob a, Ob b, HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) a b) => Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) a b Source Github #

withArr :: forall (a :: REPK j k) (b :: REPK j k) r. Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) a b -> (HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) a b => r) -> r Source Github #

type HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) (REP p :: REPK j k) (REP q :: REPK j k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Rep

type HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) (REP p :: REPK j k) (REP q :: REPK j k) = HasAllArrows p q

Orphan instances

CategoryOf (j +-> k) Source Github #

The category of profunctors and natural transformations between them.

Instance details

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Instance.Prof

type (~>) = Prof :: (j +-> k) -> (j +-> k) -> Type