proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Category.Instance.Rep

Documentation

type REP (f :: j +-> k) = 'SUB f :: SUBCAT (Representable :: (j +-> k) -> Constraint) Source Github #

class Corepresentable (UN ('OP :: (j +-> k) -> OPPOSITE (j +-> k)) p) => OpCorepresentable (p :: OPPOSITE (j +-> k)) Source Github #

Instances

Instances details
Corepresentable (UN ('OP :: (j +-> k) -> OPPOSITE (j +-> k)) p) => OpCorepresentable (p :: OPPOSITE (j +-> k)) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Rep

type COREP (f :: k +-> j) = 'SUB ('OP f) :: SUBCAT (OpCorepresentable :: OPPOSITE (k +-> j) -> Constraint) Source Github #

class HasArrow ((~>) :: CAT j1) (p % a) (q % a) => HasArrowRep (p :: j +-> j1) (q :: j +-> j1) (a :: j) Source Github #

Instances

Instances details
HasArrow ((~>) :: CAT j2) (p % a) (q % a) => HasArrowRep (p :: j1 +-> j2) (q :: j1 +-> j2) (a :: j1) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Rep

class (forall (a :: j). Ob a => HasArrowRep p q a) => HasAllArrows (p :: j +-> k) (q :: j +-> k) Source Github #

Instances

Instances details
(forall (a :: j). Ob a => HasArrowRep p q a) => HasAllArrows (p :: j +-> k) (q :: j +-> k) Source Github # 
Instance details

Defined in Proarrow.Category.Instance.Rep

Orphan instances

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

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 #