| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.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
- type O1 = 'L '() :: COPRODUCT () k
- type O2 = 'R '() :: COPRODUCT j ()
- type At1 (d :: k +-> COPRODUCT () k1) = d %% (O1 :: COPRODUCT () k1)
- type At2 (d :: k +-> COPRODUCT j ()) = d %% (O2 :: COPRODUCT j ())
- data family CoproductColimit :: (k +-> COPRODUCT () ()) -> () +-> k
- 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
- newtype AnyColimit (j :: k -> k1 -> Type) (a :: k) (b :: k1) = AnyColimit (j a b)
- data Lan (j :: a +-> i) (d :: Type +-> i) (a1 :: a) where
Documentation
type Unweighted = TerminalProfunctor :: k -> j -> Type Source Github #
class Corepresentable (Colimit j1 d) => IsCorepColimit (j1 :: k +-> i) (d :: j +-> i) Source Github #
Instances
| Corepresentable (Colimit j2 d) => IsCorepColimit (j2 :: k +-> i) (d :: j1 +-> i) Source Github # | |
Defined in Proarrow.Colimit | |
class (Profunctor j, forall (d :: k +-> i). Corepresentable d => IsCorepColimit j d) => HasColimits (j :: a +-> i) k where Source Github #
profunctor-weighted colimits
Methods
colimit :: forall (d :: k +-> i). Corepresentable d => (j :.: Colimit j d) :~> d Source Github #
colimitUniv :: forall (d :: k +-> i) (p :: k +-> a). (Corepresentable d, Profunctor p) => ((j :.: p) :~> d) -> p :~> Colimit j d Source Github #
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 Github #
data family CoproductColimit :: (k +-> COPRODUCT () ()) -> () +-> k Source Github #
Instances
| (HasBinaryCoproducts k, Corepresentable d) => FunctorForRep (CoproductColimit d :: () +-> k) Source Github # | |
Defined in Proarrow.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoproductColimit d @ a) ~> (CoproductColimit d @ b) Source Github # | |
| type (CoproductColimit d :: () +-> k) @ '() Source Github # | |
Defined in Proarrow.Colimit | |
data family CopowerLimit :: Type -> (k +-> ()) -> () +-> k Source Github #
Instances
| (Corepresentable d, Copowered Type k) => FunctorForRep (CopowerLimit n d :: () +-> k) Source Github # | |
Defined in Proarrow.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CopowerLimit n d @ a) ~> (CopowerLimit n d @ b) Source Github # | |
| type (CopowerLimit n d :: () +-> k) @ '() Source Github # | |
Defined in Proarrow.Colimit | |
data family CoendLimit :: (Type +-> (OPPOSITE k, k)) -> () +-> Type Source Github #
Instances
| Corepresentable d => FunctorForRep (CoendLimit d :: () +-> Type) Source Github # | |
Defined in Proarrow.Colimit Methods fmap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoendLimit d @ a) ~> (CoendLimit d @ b) Source Github # | |
| type (CoendLimit d :: () +-> Type) @ '() Source Github # | |
Defined in Proarrow.Colimit | |
data Hom (a :: (OPPOSITE k, k)) (b :: ()) where Source Github #
Instances
| CategoryOf k => Profunctor (Hom :: (OPPOSITE k, k) -> () -> Type) Source Github # | |
Defined in Proarrow.Colimit Methods dimap :: forall (c :: (OPPOSITE k, k)) (a :: (OPPOSITE k, k)) (b :: ()) (d :: ()). (c ~> a) -> (b ~> d) -> Hom a b -> Hom c d Source Github # lmap :: forall (c :: (OPPOSITE k, k)) (a :: (OPPOSITE k, k)) (b :: ()). (c ~> a) -> Hom a b -> Hom c b Source Github # rmap :: forall (b :: ()) (d :: ()) (a :: (OPPOSITE k, k)). (b ~> d) -> Hom a b -> Hom a d Source Github # (\\) :: forall (a :: (OPPOSITE k, k)) (b :: ()) r. ((Ob a, Ob b) => r) -> Hom a b -> r Source Github # | |
| CategoryOf k => HasColimits (Hom :: (OPPOSITE k, k) -> () -> Type) Type Source Github # | |
Defined in Proarrow.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 Github # 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 Github # | |
| type Colimit (Hom :: (OPPOSITE k, k) -> () -> Type) (d :: Type +-> (OPPOSITE k, k)) Source Github # | |
Defined in Proarrow.Colimit | |
newtype AnyColimit (j :: k -> k1 -> Type) (a :: k) (b :: k1) Source Github #
Constructors
| AnyColimit (j a b) |
Instances
| Profunctor j2 => Profunctor (AnyColimit j2 :: k -> j1 -> Type) Source Github # | |
Defined in Proarrow.Colimit Methods dimap :: forall (c :: k) (a :: k) (b :: j1) (d :: j1). (c ~> a) -> (b ~> d) -> AnyColimit j2 a b -> AnyColimit j2 c d Source Github # lmap :: forall (c :: k) (a :: k) (b :: j1). (c ~> a) -> AnyColimit j2 a b -> AnyColimit j2 c b Source Github # rmap :: forall (b :: j1) (d :: j1) (a :: k). (b ~> d) -> AnyColimit j2 a b -> AnyColimit j2 a d Source Github # (\\) :: forall (a :: k) (b :: j1) r. ((Ob a, Ob b) => r) -> AnyColimit j2 a b -> r Source Github # | |
| Profunctor j => HasColimits (AnyColimit j :: i -> a -> Type) Type Source Github # | |
Defined in Proarrow.Colimit Methods colimit :: forall (d :: Type +-> i). Corepresentable d => (AnyColimit j :.: Colimit (AnyColimit j) d) :~> d Source Github # colimitUniv :: forall (d :: Type +-> i) (p :: Type +-> a). (Corepresentable d, Profunctor p) => ((AnyColimit j :.: p) :~> d) -> p :~> Colimit (AnyColimit j) d Source Github # | |
| type Colimit (AnyColimit j :: i -> a -> Type) (d :: Type +-> i) Source Github # | |
Defined in Proarrow.Colimit | |