| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Colimit
Synopsis
- type Unweighted = TerminalProfunctor :: k -> j -> Type
- class Corepresentable (Colimit j1 d) => IsCorepColimit (j1 :: k +-> i) (d :: j +-> i)
- class (Profunctor j, forall (d :: k +-> i). Corepresentable d => IsCorepColimit j d) => HasColimits (j :: a +-> i) k where
- type Colimit (j :: a +-> i) (d :: k +-> i) :: k +-> a
- colimit :: forall (d :: k +-> i). Corepresentable d => (j :.: Colimit j d) :~> d
- colimitUniv :: forall (d :: k +-> i) (p :: k +-> a). (Corepresentable d, Profunctor p) => ((j :.: p) :~> d) -> p :~> Colimit j d
- mapColimit :: forall {a} {i} (j :: a +-> i) k (p :: k +-> i) (q :: k +-> i). (HasColimits j k, Corepresentable p, Corepresentable q) => (p ~> q) -> Colimit j p ~> Colimit j q
- data family InitialLimit :: (k +-> VOID) -> () +-> k
- data family CoproductColimit :: (k +-> COPRODUCT () ()) -> () +-> k
- cochoose :: forall {k} (d :: k +-> COPRODUCT () ()) (b :: COPRODUCT () ()). (HasBinaryCoproducts k, Corepresentable d, Ob b) => (d %% b) ~> ((d %% ('L '() :: COPRODUCT () ())) || (d %% ('R '() :: COPRODUCT () ())))
- data family CopowerLimit :: Type -> (k +-> ()) -> () +-> k
- data Coend (d :: Type +-> (OPPOSITE k, k)) where
- data family CoendLimit :: (Type +-> (OPPOSITE k, k)) -> () +-> Type
- data Hom (a :: (OPPOSITE k, k)) (b :: ()) where
Documentation
type Unweighted = TerminalProfunctor :: k -> j -> Type Source Comments #
class Corepresentable (Colimit j1 d) => IsCorepColimit (j1 :: k +-> i) (d :: j +-> i) Source Comments #
Instances
| Corepresentable (Colimit j2 d) => IsCorepColimit (j2 :: k +-> i) (d :: j1 +-> i) Source Comments # | |
Defined in Proarrow.Category.Colimit | |
class (Profunctor j, forall (d :: k +-> i). Corepresentable d => IsCorepColimit j d) => HasColimits (j :: a +-> i) k where Source Comments #
profunctor-weighted colimits
Methods
colimit :: forall (d :: k +-> i). Corepresentable d => (j :.: Colimit j d) :~> d Source Comments #
colimitUniv :: forall (d :: k +-> i) (p :: k +-> a). (Corepresentable d, Profunctor p) => ((j :.: p) :~> d) -> p :~> Colimit j d Source Comments #
Instances
mapColimit :: forall {a} {i} (j :: a +-> i) k (p :: k +-> i) (q :: k +-> i). (HasColimits j k, Corepresentable p, Corepresentable q) => (p ~> q) -> Colimit j p ~> Colimit j q Source Comments #
data family InitialLimit :: (k +-> VOID) -> () +-> k Source Comments #
Instances
| HasInitialObject k => FunctorForRep (InitialLimit d :: () +-> k) Source Comments # | |
Defined in Proarrow.Category.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (InitialLimit d @ a) ~> (InitialLimit d @ b) Source Comments # | |
| type (InitialLimit d :: () +-> k) @ '() Source Comments # | |
Defined in Proarrow.Category.Colimit | |
data family CoproductColimit :: (k +-> COPRODUCT () ()) -> () +-> k Source Comments #
Instances
| (HasBinaryCoproducts k, Corepresentable d) => FunctorForRep (CoproductColimit d :: () +-> k) Source Comments # | |
Defined in Proarrow.Category.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoproductColimit d @ a) ~> (CoproductColimit d @ b) Source Comments # | |
| type (CoproductColimit d :: () +-> k) @ '() Source Comments # | |
cochoose :: forall {k} (d :: k +-> COPRODUCT () ()) (b :: COPRODUCT () ()). (HasBinaryCoproducts k, Corepresentable d, Ob b) => (d %% b) ~> ((d %% ('L '() :: COPRODUCT () ())) || (d %% ('R '() :: COPRODUCT () ()))) Source Comments #
data family CopowerLimit :: Type -> (k +-> ()) -> () +-> k Source Comments #
Instances
| (Corepresentable d, Copowered Type k) => FunctorForRep (CopowerLimit n d :: () +-> k) Source Comments # | |
Defined in Proarrow.Category.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CopowerLimit n d @ a) ~> (CopowerLimit n d @ b) Source Comments # | |
| type (CopowerLimit n d :: () +-> k) @ '() Source Comments # | |
Defined in Proarrow.Category.Colimit | |
data family CoendLimit :: (Type +-> (OPPOSITE k, k)) -> () +-> Type Source Comments #
Instances
| Corepresentable d => FunctorForRep (CoendLimit d :: () +-> Type) Source Comments # | |
Defined in Proarrow.Category.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoendLimit d @ a) ~> (CoendLimit d @ b) Source Comments # | |
| type (CoendLimit d :: () +-> Type) @ '() Source Comments # | |
Defined in Proarrow.Category.Colimit | |
data Hom (a :: (OPPOSITE k, k)) (b :: ()) where Source Comments #
Instances
| CategoryOf k => Profunctor (Hom :: (OPPOSITE k, k) -> () -> Type) Source Comments # | |
| CategoryOf k => HasColimits (Hom :: (OPPOSITE k, k) -> () -> Type) Type Source Comments # | |
Defined in Proarrow.Category.Colimit Methods colimit :: forall (d :: Type +-> (OPPOSITE k, k)). Corepresentable d => ((Hom :: (OPPOSITE k, k) -> () -> Type) :.: Colimit (Hom :: (OPPOSITE k, k) -> () -> Type) d) :~> d Source Comments # colimitUniv :: forall (d :: Type +-> (OPPOSITE k, k)) (p :: Type +-> ()). (Corepresentable d, Profunctor p) => (((Hom :: (OPPOSITE k, k) -> () -> Type) :.: p) :~> d) -> p :~> Colimit (Hom :: (OPPOSITE k, k) -> () -> Type) d Source Comments # | |
| type Colimit (Hom :: (OPPOSITE k, k) -> () -> Type) (d :: Type +-> (OPPOSITE k, k)) Source Comments # | |
Defined in Proarrow.Category.Colimit | |