| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.Fam
Documentation
Instances
data Fam (a :: FAM k) (b :: FAM k) where Source Comments #
Constructors
| Fam :: forall {k} {x} {y} {dx :: x +-> k} {dy :: y +-> k} (f :: x +-> y). (Representable dx, Representable dy, Representable f) => (dx :~> (dy :.: f)) -> Fam ('DEP_ dx) ('DEP_ dy) |
data AsPresheaf (dx :: x +-> k) (a :: k) (u :: ()) where Source Comments #
Constructors
| AsPresheaf :: forall {x} {k} (dx :: x +-> k) (a :: k) (b :: x). dx a b -> AsPresheaf dx a '() |
Instances
| (CategoryOf k, Profunctor dx) => Profunctor (AsPresheaf dx :: k -> () -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam Methods dimap :: forall (c :: k) (a :: k) (b :: ()) (d :: ()). (c ~> a) -> (b ~> d) -> AsPresheaf dx a b -> AsPresheaf dx c d Source Comments # (\\) :: forall (a :: k) (b :: ()) r. ((Ob a, Ob b) => r) -> AsPresheaf dx a b -> r Source Comments # | |
data family IsPresheafSub :: FAM k +-> Presheaf k Source Comments #
Instances
| CategoryOf k => FunctorForRep (IsPresheafSub :: FAM k +-> Presheaf k) Source Comments # | |
| type (IsPresheafSub :: FAM k +-> Presheaf k) @ (DEP x dx :: FAM k) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam | |
data Term (a :: k) (b :: ()) where Source Comments #
Instances
| CategoryOf k => Profunctor (Term :: k -> () -> Type) Source Comments # | |
| CategoryOf k => Corepresentable (Term :: k -> () -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam Methods coindex :: forall (a :: k) (b :: ()). Term a b -> ((Term :: k -> () -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: ()). Ob a => (((Term :: k -> () -> Type) %% a) ~> b) -> Term a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Term :: k -> () -> Type) %% a) ~> ((Term :: k -> () -> Type) %% b) Source Comments # | |
| HasTerminalObject k => Representable (Term :: k -> () -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam Methods index :: forall (a :: k) (b :: ()). Term a b -> a ~> ((Term :: k -> () -> Type) % b) Source Comments # tabulate :: forall (b :: ()) (a :: k). Ob b => (a ~> ((Term :: k -> () -> Type) % b)) -> Term a b Source Comments # repMap :: forall (a :: ()) (b :: ()). (a ~> b) -> ((Term :: k -> () -> Type) % a) ~> ((Term :: k -> () -> Type) % b) Source Comments # | |
| type (Term :: k -> () -> Type) %% (a :: k) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam | |
| type (Term :: k -> () -> Type) % '() Source Comments # | |
Defined in Proarrow.Category.Instance.Fam | |
data ((p :: x +-> k) :&&: (q :: y +-> k)) (a :: k) (b :: (x, y)) where Source Comments #
Constructors
| (:&&:) :: forall {x} {k} {y} (p :: x +-> k) (a :: k) (b1 :: x) (q :: y +-> k) (c :: y). p a b1 -> q a c -> (p :&&: q) a '(b1, c) |
Instances
| (Profunctor l, Profunctor r, CategoryOf k) => Profunctor (l :&&: r :: k -> (x, y) -> Type) Source Comments # | |
| (Corepresentable l, Corepresentable r, CategoryOf k) => Corepresentable (l :&&: r :: k -> (x, y) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam Methods coindex :: forall (a :: k) (b :: (x, y)). (l :&&: r) a b -> ((l :&&: r) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: (x, y)). Ob a => (((l :&&: r) %% a) ~> b) -> (l :&&: r) a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((l :&&: r) %% a) ~> ((l :&&: r) %% b) Source Comments # | |
| (Representable l, Representable r, HasBinaryProducts k) => Representable (l :&&: r :: k -> (x, y) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fam Methods index :: forall (a :: k) (b :: (x, y)). (l :&&: r) a b -> a ~> ((l :&&: r) % b) Source Comments # tabulate :: forall (b :: (x, y)) (a :: k). Ob b => (a ~> ((l :&&: r) % b)) -> (l :&&: r) a b Source Comments # repMap :: forall (a :: (x, y)) (b :: (x, y)). (a ~> b) -> ((l :&&: r) % a) ~> ((l :&&: r) % b) Source Comments # | |
| type (l :&&: r :: k -> (x, y) -> Type) %% (a :: k) Source Comments # | |
| type (l :&&: r :: k -> (x, y) -> Type) % ('(a, b) :: (x, y)) Source Comments # | |