Safe Haskell | None |
---|---|
Language | GHC2024 |
Proarrow.Object
Synopsis
- type Obj (a :: k) = a ~> a
- pattern Obj :: forall k (a :: k). CategoryOf k => Ob a => Obj a
- pattern Objs :: forall k (a :: k) (b :: k). CategoryOf k => (Ob a, Ob b) => a ~> b
- obj :: forall {k} (a :: k). (CategoryOf k, Ob a) => Obj a
- src :: forall {j} {k} (a :: k) (b :: j) p. Profunctor p => p a b -> Obj a
- tgt :: forall {k1} {k2} (a :: k2) (b :: k1) p. Profunctor p => p a b -> Obj b
- class (Ob a, CategoryOf k) => Ob' (a :: k)
- type VacuusOb k = forall (a :: k). Ob' a
Documentation
pattern Objs :: forall k (a :: k) (b :: k). CategoryOf k => (Ob a, Ob b) => a ~> b Source Comments #
obj :: forall {k} (a :: k). (CategoryOf k, Ob a) => Obj a Source Comments #
The identity morphism for a given object.
Compared to id
this makes the kind argument implicit,
allowing to write obj @a
instead of id @k @a
.
src :: forall {j} {k} (a :: k) (b :: j) p. Profunctor p => p a b -> Obj a Source Comments #
Extract source identity morphism from a profunctor heteromorphism.
tgt :: forall {k1} {k2} (a :: k2) (b :: k1) p. Profunctor p => p a b -> Obj b Source Comments #
Extract target identity morphism from a profunctor heteromorphism.
class (Ob a, CategoryOf k) => Ob' (a :: k) Source Comments #
Instances
(Ob a, CategoryOf k) => Ob' (a :: k) Source Comments # | |
Defined in Proarrow.Object |