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

Proarrow.Category.Bicategory.Hom

Documentation

newtype HK (kk :: k -> k1 -> Type) (i :: k) (j :: k1) Source Comments #

Constructors

HomK 

Fields

Instances

Instances details
Bicategory kk => LaxProfunctor (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Associated Types

data P (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) (s :: COK kk h i) (t :: kk j k1) (a :: HK kk i k1) (b :: HK kk h j) 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

data P (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) (s :: COK kk h i) (t :: kk j k1) (a :: HK kk i k1) (b :: HK kk h j) where
  • Hom :: forall {k} {h :: k} {i :: k} {j :: k} {k1 :: k} {kk :: CAT k} (a1 :: kk i k1) (b1 :: kk h j) (s1 :: kk h i) (t :: kk j k1). (Ob a1, Ob b1, Ob s1, Ob t, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k1) => (O a1 s1 ~> O t b1) -> P kk kk (HK kk) ('CO s1) t ('HomK a1) ('HomK b1)

Methods

laxId :: forall (k0 :: k) (j :: k). (Ob0 kk k0, Ob0 kk j) => (Id :: HK kk k j -> HK kk k j -> Type) :~> P kk kk (HK kk) ('CO (I :: kk k k)) (I :: kk j j) Source Comments #

laxComp :: forall {j1 :: k} {i :: k} {j2 :: k} {k0 :: k} {h :: k} {j3 :: k} (s0 :: COK kk j1 i) (t0 :: kk j2 k0) (s1 :: COK kk h j1) (t1 :: kk j3 j2). (P kk kk (HK kk) s0 t0 :.: P kk kk (HK kk) s1 t1) :~> P kk kk (HK kk) (O s0 s1) (O t0 t1) Source Comments #

(Bicategory kk, Ob s, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => Functor (P kk kk (HK kk) s :: kk j k2 -> HK kk h j +-> HK kk i k2) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

map :: forall (a :: kk j k2) (b :: kk j k2). (a ~> b) -> P kk kk (HK kk) s a ~> P kk kk (HK kk) s b Source Comments #

(Bicategory kk, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => Functor (P kk kk (HK kk) :: COK kk h i -> kk j k2 -> HK kk h j +-> HK kk i k2) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

map :: forall (a :: COK kk h i) (b :: COK kk h i). (a ~> b) -> P kk kk (HK kk) a ~> P kk kk (HK kk) b Source Comments #

CategoryOf (kk i j) => CategoryOf (HK kk i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

type (~>) = HomW :: HK kk i j -> HK kk i j -> Type
Promonad ((~>) :: CAT (kk i j)) => Promonad (HomW :: HK kk i j -> HK kk i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

id :: forall (a :: HK kk i j). Ob a => HomW a a Source Comments #

(.) :: forall (b :: HK kk i j) (c :: HK kk i j) (a :: HK kk i j). HomW b c -> HomW a b -> HomW a c Source Comments #

Profunctor ((~>) :: CAT (kk i j)) => Profunctor (HomW :: HK kk i j -> HK kk i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

dimap :: forall (c :: HK kk i j) (a :: HK kk i j) (b :: HK kk i j) (d :: HK kk i j). (c ~> a) -> (b ~> d) -> HomW a b -> HomW c d Source Comments #

(\\) :: forall (a :: HK kk i j) (b :: HK kk i j) r. ((Ob a, Ob b) => r) -> HomW a b -> r Source Comments #

(Bicategory kk, Ob s, Ob t, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k2) => Profunctor (P kk kk (HK kk) s t :: HK kk h j +-> HK kk i k2) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

dimap :: forall (c :: HK kk i k2) (a :: HK kk i k2) (b :: HK kk h j) (d :: HK kk h j). (c ~> a) -> (b ~> d) -> P kk kk (HK kk) s t a b -> P kk kk (HK kk) s t c d Source Comments #

(\\) :: forall (a :: HK kk i k2) (b :: HK kk h j) r. ((Ob a, Ob b) => r) -> P kk kk (HK kk) s t a b -> r Source Comments #

data P (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) (s :: COK kk h i) (t :: kk j k1) (a :: HK kk i k1) (b :: HK kk h j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

data P (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) (s :: COK kk h i) (t :: kk j k1) (a :: HK kk i k1) (b :: HK kk h j) where
  • Hom :: forall {k} {h :: k} {i :: k} {j :: k} {k1 :: k} {kk :: CAT k} (a1 :: kk i k1) (b1 :: kk h j) (s1 :: kk h i) (t :: kk j k1). (Ob a1, Ob b1, Ob s1, Ob t, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k1) => (O a1 s1 ~> O t b1) -> P kk kk (HK kk) ('CO s1) t ('HomK a1) ('HomK b1)
type UN ('HomK :: kk i j -> HK kk i j) ('HomK k3 :: HK kk i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

type UN ('HomK :: kk i j -> HK kk i j) ('HomK k3 :: HK kk i j) = k3
type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

type (~>) = HomW :: HK kk i j -> HK kk i j -> Type
type Ob (k3 :: HK kk i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

type Ob (k3 :: HK kk i j) = (Is ('HomK :: kk i j -> HK kk i j) k3, Ob (UN ('HomK :: kk i j -> HK kk i j) k3))

data HomW (a :: HK kk i j) (b :: HK kk i j) where Source Comments #

Constructors

HomW :: forall {k} {k1} {kk :: k -> k1 -> Type} {i :: k} {j :: k1} (a1 :: kk i j) (b1 :: kk i j). (a1 ~> b1) -> HomW ('HomK a1) ('HomK b1) 

Instances

Instances details
Promonad ((~>) :: CAT (kk i j)) => Promonad (HomW :: HK kk i j -> HK kk i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

id :: forall (a :: HK kk i j). Ob a => HomW a a Source Comments #

(.) :: forall (b :: HK kk i j) (c :: HK kk i j) (a :: HK kk i j). HomW b c -> HomW a b -> HomW a c Source Comments #

Profunctor ((~>) :: CAT (kk i j)) => Profunctor (HomW :: HK kk i j -> HK kk i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.Hom

Methods

dimap :: forall (c :: HK kk i j) (a :: HK kk i j) (b :: HK kk i j) (d :: HK kk i j). (c ~> a) -> (b ~> d) -> HomW a b -> HomW c d Source Comments #

(\\) :: forall (a :: HK kk i j) (b :: HK kk i j) r. ((Ob a, Ob b) => r) -> HomW a b -> r Source Comments #