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

Proarrow.Category.Bicategory.CategoryAsBi

Documentation

data PLAINK k (i :: k) (j :: k) Source Comments #

Constructors

PLAIN 

Instances

Instances details
CategoryOf k => Bicategory (PLAINK k :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

o :: forall {k1 :: k} (i :: k) (j :: k) (a :: PLAINK k i j) (b :: PLAINK k i j) (c :: PLAINK k j k1) (d :: PLAINK k j k1). (a ~> b) -> (c ~> d) -> O a c ~> O b d Source Comments #

(\\\) :: forall (i :: k) (j :: k) (ps :: PLAINK k i j) (qs :: PLAINK k i j) r. ((Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob ps, Ob qs) => r) -> (ps ~> qs) -> r Source Comments #

leftUnitor :: forall (i :: k) (j :: k) (a :: PLAINK k i j). Obj a -> O (I :: PLAINK k i i) a ~> a Source Comments #

leftUnitorInv :: forall (i :: k) (j :: k) (a :: PLAINK k i j). Obj a -> a ~> O (I :: PLAINK k i i) a Source Comments #

rightUnitor :: forall (i :: k) (j :: k) (a :: PLAINK k i j). Obj a -> O a (I :: PLAINK k j j) ~> a Source Comments #

rightUnitorInv :: forall (i :: k) (j :: k) (a :: PLAINK k i j). Obj a -> a ~> O a (I :: PLAINK k j j) Source Comments #

associator :: forall {j1 :: k} {k1 :: k} (i :: k) (j2 :: k) (a :: PLAINK k i j2) (b :: PLAINK k j2 j1) (c :: PLAINK k j1 k1). Obj a -> Obj b -> Obj c -> O (O a b) c ~> O a (O b c) Source Comments #

associatorInv :: forall {j1 :: k} {k1 :: k} (i :: k) (j2 :: k) (a :: PLAINK k i j2) (b :: PLAINK k j2 j1) (c :: PLAINK k j1 k1). Obj a -> Obj b -> Obj c -> O a (O b c) ~> O (O a b) c Source Comments #

(CategoryOf k, Ob i, Ob j) => CategoryOf (PLAINK k i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type (~>) = Category :: PLAINK k i j -> PLAINK k i j -> Type
(CategoryOf k, Ob i, Ob j) => Promonad (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

id :: forall (a :: PLAINK k i j). Ob a => Category a a Source Comments #

(.) :: forall (b :: PLAINK k i j) (c :: PLAINK k i j) (a :: PLAINK k i j). Category b c -> Category a b -> Category a c Source Comments #

(CategoryOf k, Ob i, Ob j) => Profunctor (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

dimap :: forall (c :: PLAINK k i j) (a :: PLAINK k i j) (b :: PLAINK k i j) (d :: PLAINK k i j). (c ~> a) -> (b ~> d) -> Category a b -> Category c d Source Comments #

(\\) :: forall (a :: PLAINK k i j) (b :: PLAINK k i j) r. ((Ob a, Ob b) => r) -> Category a b -> r Source Comments #

type Ob0 (PLAINK k2 :: k2 -> k2 -> Type) (a :: k1) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type Ob0 (PLAINK k2 :: k2 -> k2 -> Type) (a :: k1) = Ob a
type I Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type I = 'PLAIN :: PLAINK k i i
type O ('PLAIN :: PLAINK k i j) ('PLAIN :: PLAINK k j k1) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type O ('PLAIN :: PLAINK k i j) ('PLAIN :: PLAINK k j k1) = 'PLAIN :: PLAINK k i k1
type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type (~>) = Category :: PLAINK k i j -> PLAINK k i j -> Type
type Ob (a :: PLAINK k i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type Ob (a :: PLAINK k i j) = a ~ ('PLAIN :: PLAINK k i j)

data Category (as :: PLAINK k i j) (bs :: PLAINK k i j) where Source Comments #

Constructors

Id :: forall {k} (i :: k) (j :: k). (Ob i, Ob j) => Maybe (i ~> j) -> Category ('PLAIN :: PLAINK k i j) ('PLAIN :: PLAINK k i j) 

Instances

Instances details
(CategoryOf k, Ob i, Ob j) => Promonad (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

id :: forall (a :: PLAINK k i j). Ob a => Category a a Source Comments #

(.) :: forall (b :: PLAINK k i j) (c :: PLAINK k i j) (a :: PLAINK k i j). Category b c -> Category a b -> Category a c Source Comments #

(CategoryOf k, Ob i, Ob j) => Profunctor (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

dimap :: forall (c :: PLAINK k i j) (a :: PLAINK k i j) (b :: PLAINK k i j) (d :: PLAINK k i j). (c ~> a) -> (b ~> d) -> Category a b -> Category c d Source Comments #

(\\) :: forall (a :: PLAINK k i j) (b :: PLAINK k i j) r. ((Ob a, Ob b) => r) -> Category a b -> r Source Comments #