| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Bicategory.Prof
Documentation
data PROFK j k Source Comments #
Instances
data Prof (p :: PROFK j k) (q :: PROFK j k) where Source Comments #
Constructors
| Prof :: forall {j} {k} (p1 :: j +-> k) (q1 :: j +-> k). (Ob p1, Ob q1) => (p1 :~> q1) -> Prof ('PK p1) ('PK q1) |
data ProfRep Source Comments #
Instances
| HasBinaryProducts FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof Associated Types
Methods fstObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Fst FUNK a b) Source Comments # sndObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Snd FUNK a b) Source Comments # prodObj :: forall j a b (f :: FUNK j a) (g :: FUNK j b). (Ob0 FUNK j, Ob0 FUNK a, Ob0 FUNK b, Ob f, Ob g) => Obj (f &&& g) Source Comments # prodUniv :: forall j a b (h :: FUNK j (Product FUNK a b)) (k :: FUNK j (Product FUNK a b)). (Ob0 FUNK j, Ob0 FUNK a, Ob0 FUNK b, Ob h, Ob k) => (O (Fst FUNK a b) h ~> O (Fst FUNK a b) k) -> (O (Snd FUNK a b) h ~> O (Snd FUNK a b) k) -> h ~> k Source Comments # | |||||||||||||
| HasTerminalObject FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type TerminalObject FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Terminate FUNK (j :: Type) Source Comments # | |||||||||||||
| type IsOb0 ProfRep (k :: s) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Fst FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
| type Product FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Snd FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
| type IsOb ProfRep (p :: PROFK j k) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type (f :: SUBCAT ProfRep PROFK i1 i2) &&& (g :: SUBCAT ProfRep PROFK i1 j) Source Comments # | |||||||||||||
type UNFUN (p :: SUBCAT tag PROFK j k) = UN ('PK :: (j +-> k) -> PROFK j k) (UN ('SUB :: PROFK j k -> SUBCAT tag PROFK j k) p) Source Comments #
class (forall (s :: COK sk h i) (t :: tk j k2). (Ob s, Ob t) => Profunctor (p s t), forall (s :: COK sk h i). Ob s => Functor (p s), Functor p) => IsFunctorial (h :: k) (i :: k) (j :: k1) (k2 :: k1) (p :: COK sk h i -> tk j k2 -> kk h j +-> kk i k2) Source Comments #
Instances
| (forall (s :: COK sk h i) (t :: tk j k3). (Ob s, Ob t) => Profunctor (p s t), forall (s :: COK sk h i). Ob s => Functor (p s), Functor p) => IsFunctorial (h :: k1) (i :: k1) (j :: k2) (k3 :: k2) (p :: COK sk h i -> tk j k3 -> kk h j +-> kk i k3) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Prof | |
class (Bicategory sk, Bicategory tk, forall (h :: s) (i :: s) (j :: t) (k :: t). (Ob0 sk h, Ob0 sk i, Ob0 tk j, Ob0 tk k) => IsFunctorial h i j k (P sk tk kk), forall (j :: s) (k :: t). (Ob0 sk j, Ob0 tk k) => CategoryOf (kk j k)) => LaxProfunctor (sk :: CAT s) (tk :: CAT t) (kk :: t +-> s) where Source Comments #
Associated Types
data P (sk :: CAT s) (tk :: CAT t) (kk :: t +-> s) :: forall {h :: s} {i :: s} {j :: t} {k :: t}. COK sk h i -> tk j k -> kk h j +-> kk i k Source Comments #
Methods
laxId :: forall (k :: s) (j :: t). (Ob0 sk k, Ob0 tk j) => (Id :: kk k j -> kk k j -> Type) :~> P sk tk kk ('CO (I :: sk k k)) (I :: tk j j) Source Comments #
laxComp :: forall {j1 :: s} {i :: s} {j2 :: t} {k :: t} {h :: s} {j3 :: t} (s0 :: COK sk j1 i) (t0 :: tk j2 k) (s1 :: COK sk h j1) (t1 :: tk j3 j2). (P sk tk kk s0 t0 :.: P sk tk kk s1 t1) :~> P sk tk kk (O s0 s1) (O t0 t1) Source Comments #
Instances
| Bicategory kk => LaxProfunctor (kk :: CAT k) (kk :: CAT k) (HK kk :: k -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Bicategory.Hom Associated Types
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 # | |||||