| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Profunctor.Corepresentable
Documentation
class Profunctor p => Corepresentable (p :: j +-> k) where Source Comments #
Methods
coindex :: forall (a :: k) (b :: j). p a b -> (p %% a) ~> b Source Comments #
cotabulate :: forall (a :: k) (b :: j). Ob a => ((p %% a) ~> b) -> p a b Source Comments #
corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (p %% a) ~> (p %% b) Source Comments #
Instances
| 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 # | |||||
| Corepresentable (Fold :: Type -> Type -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Fold Methods coindex :: Fold a b -> ((Fold :: Type -> Type -> Type) %% a) ~> b Source Comments # cotabulate :: Ob a => (((Fold :: Type -> Type -> Type) %% a) ~> b) -> Fold a b Source Comments # corepMap :: (a ~> b) -> ((Fold :: Type -> Type -> Type) %% a) ~> ((Fold :: Type -> Type -> Type) %% b) Source Comments # | |||||
| CategoryOf k => Corepresentable (Id :: k -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Identity Methods coindex :: forall (a :: k) (b :: k). Id a b -> ((Id :: k -> k -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: k). Ob a => (((Id :: k -> k -> Type) %% a) ~> b) -> Id a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) %% a) ~> ((Id :: k -> k -> Type) %% b) Source Comments # | |||||
| Corepresentable d => Corepresentable (CoendLimit d :: () -> Type -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Colimit Methods coindex :: forall (a :: ()) b. CoendLimit d a b -> (CoendLimit d %% a) ~> b Source Comments # cotabulate :: forall (a :: ()) b. Ob a => ((CoendLimit d %% a) ~> b) -> CoendLimit d a b Source Comments # corepMap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoendLimit d %% a) ~> (CoendLimit d %% b) Source Comments # | |||||
| Corepresentable (->) Source Comments # | |||||
Defined in Proarrow.Profunctor.Corepresentable Associated Types
| |||||
| (HasBinaryCoproducts k, Corepresentable d) => Corepresentable (CoproductColimit d :: () -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Colimit Methods coindex :: forall (a :: ()) (b :: k). CoproductColimit d a b -> (CoproductColimit d %% a) ~> b Source Comments # cotabulate :: forall (a :: ()) (b :: k). Ob a => ((CoproductColimit d %% a) ~> b) -> CoproductColimit d a b Source Comments # corepMap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CoproductColimit d %% a) ~> (CoproductColimit d %% b) Source Comments # | |||||
| HasInitialObject k => Corepresentable (InitialLimit d :: () -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Colimit Methods coindex :: forall (a :: ()) (b :: k). InitialLimit d a b -> (InitialLimit d %% a) ~> b Source Comments # cotabulate :: forall (a :: ()) (b :: k). Ob a => ((InitialLimit d %% a) ~> b) -> InitialLimit d a b Source Comments # corepMap :: forall (a :: ()) (b :: ()). (a ~> b) -> (InitialLimit d %% a) ~> (InitialLimit d %% b) Source Comments # | |||||
| Corepresentable (Rep Forget) Source Comments # | By creating the left adjoint to the forgetful functor, we obtain the free-forgetful adjunction between Hask and LINEAR | ||||
Defined in Proarrow.Category.Instance.Linear | |||||
| Corepresentable (Star ((->) a) :: Type -> Type -> Type) Source Comments # | The left adjoint of | ||||
| (Relation p, Representable p) => Corepresentable (Converse p :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Rel Methods coindex :: forall (a :: k) (b :: j). Converse p a b -> (Converse p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((Converse p %% a) ~> b) -> Converse p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (Converse p %% a) ~> (Converse p %% b) Source Comments # | |||||
| FunctorForRep f => Corepresentable (Corep f :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Corepresentable | |||||
| Functor f => Corepresentable (Costar f :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Costar Methods coindex :: forall (a :: k) (b :: j). Costar f a b -> (Costar f %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((Costar f %% a) ~> b) -> Costar f a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (Costar f %% a) ~> (Costar f %% b) Source Comments # | |||||
| Representable p => Corepresentable (RepCostar p :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Representable Methods coindex :: forall (a :: k) (b :: j). RepCostar p a b -> (RepCostar p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((RepCostar p %% a) ~> b) -> RepCostar p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (RepCostar p %% a) ~> (RepCostar p %% b) Source Comments # | |||||
| Corepresentable p => Corepresentable (Wrapped p :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Wrapped Methods coindex :: forall (a :: k) (b :: j). Wrapped p a b -> (Wrapped p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((Wrapped p %% a) ~> b) -> Wrapped p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (Wrapped p %% a) ~> (Wrapped p %% b) Source Comments # | |||||
| Corepresentable p => Corepresentable (AsLeftAdjoint p :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Universal Methods coindex :: forall (a :: k) (b :: j). AsLeftAdjoint p a b -> (AsLeftAdjoint p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((AsLeftAdjoint p %% a) ~> b) -> AsLeftAdjoint p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (AsLeftAdjoint p %% a) ~> (AsLeftAdjoint p %% b) Source Comments # | |||||
| (forall (a :: k). InitUniversal r a) => Corepresentable (AsRightAdjoint r :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Universal Methods coindex :: forall (a :: k) (b :: j). AsRightAdjoint r a b -> (AsRightAdjoint r %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((AsRightAdjoint r %% a) ~> b) -> AsRightAdjoint r a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (AsRightAdjoint r %% a) ~> (AsRightAdjoint r %% b) Source Comments # | |||||
| Corepresentable p => Corepresentable (FromAdjunction p :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Universal Methods coindex :: forall (a :: k) (b :: j). FromAdjunction p a b -> (FromAdjunction p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((FromAdjunction p %% a) ~> b) -> FromAdjunction p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (FromAdjunction p %% a) ~> (FromAdjunction p %% b) Source Comments # | |||||
| (Corepresentable d, Copowered Type k) => Corepresentable (CopowerLimit n d :: () -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Colimit Methods coindex :: forall (a :: ()) (b :: k). CopowerLimit n d a b -> (CopowerLimit n d %% a) ~> b Source Comments # cotabulate :: forall (a :: ()) (b :: k). Ob a => ((CopowerLimit n d %% a) ~> b) -> CopowerLimit n d a b Source Comments # corepMap :: forall (a :: ()) (b :: ()). (a ~> b) -> (CopowerLimit n d %% a) ~> (CopowerLimit n d %% b) Source Comments # | |||||
| (CategoryOf j, CategoryOf k, Ob c) => Corepresentable (ConstIn c :: j -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Constant Methods coindex :: forall (a :: j) (b :: k). ConstIn c a b -> ((ConstIn c :: j -> k -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: j) (b :: k). Ob a => (((ConstIn c :: j -> k -> Type) %% a) ~> b) -> ConstIn c a b Source Comments # corepMap :: forall (a :: j) (b :: j). (a ~> b) -> ((ConstIn c :: j -> k -> Type) %% a) ~> ((ConstIn c :: j -> k -> Type) %% b) Source Comments # | |||||
| (Closed k, Ob a) => Corepresentable (Rep (Exponential ('OP a)) :: k -> k -> Type) Source Comments # | The curry/uncurry adjunction. | ||||
Defined in Proarrow.Object.Exponential Methods coindex :: forall (a0 :: k) (b :: k). Rep (Exponential ('OP a)) a0 b -> (Rep (Exponential ('OP a)) %% a0) ~> b Source Comments # cotabulate :: forall (a0 :: k) (b :: k). Ob a0 => ((Rep (Exponential ('OP a)) %% a0) ~> b) -> Rep (Exponential ('OP a)) a0 b Source Comments # corepMap :: forall (a0 :: k) (b :: k). (a0 ~> b) -> (Rep (Exponential ('OP a)) %% a0) ~> (Rep (Exponential ('OP a)) %% b) Source Comments # | |||||
| (Ob r, MonoidalAction m k) => Corepresentable (Reader ('OP r) :: k -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Promonad.Reader Methods coindex :: forall (a :: k) (b :: k). Reader ('OP r) a b -> ((Reader ('OP r) :: k -> k -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: k). Ob a => (((Reader ('OP r) :: k -> k -> Type) %% a) ~> b) -> Reader ('OP r) a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Reader ('OP r) :: k -> k -> Type) %% a) ~> ((Reader ('OP r) :: k -> k -> Type) %% b) Source Comments # | |||||
| (HasBinaryCoproducts j, Corepresentable p, Corepresentable q) => Corepresentable (p :*: q :: k -> j -> Type) Source Comments # | |||||
Defined in Proarrow.Object.BinaryCoproduct Methods coindex :: forall (a :: k) (b :: j). (p :*: q) a b -> ((p :*: q) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => (((p :*: q) %% a) ~> b) -> (p :*: q) a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((p :*: q) %% a) ~> ((p :*: q) %% b) Source Comments # | |||||
| (Corepresentable p, Corepresentable q) => Corepresentable (p :.: q :: k -> j2 -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Composition Methods coindex :: forall (a :: k) (b :: j2). (p :.: q) a b -> ((p :.: q) %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j2). Ob a => (((p :.: q) %% a) ~> b) -> (p :.: q) a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((p :.: q) %% a) ~> ((p :.: q) %% b) Source Comments # | |||||
| (HasColimits j k2, Corepresentable d) => Corepresentable (Rift ('OP j) d :: k1 -> k2 -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Rift Methods coindex :: forall (a :: k1) (b :: k2). Rift ('OP j) d a b -> (Rift ('OP j) d %% a) ~> b Source Comments # cotabulate :: forall (a :: k1) (b :: k2). Ob a => ((Rift ('OP j) d %% a) ~> b) -> Rift ('OP j) d a b Source Comments # corepMap :: forall (a :: k1) (b :: k1). (a ~> b) -> (Rift ('OP j) d %% a) ~> (Rift ('OP j) d %% b) Source Comments # | |||||
| HasCofree ob => Corepresentable (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Cofree Methods coindex :: forall (a :: SUBCAT ob) (b :: k). Rep (CofreeSub ob) a b -> (Rep (CofreeSub ob) %% a) ~> b Source Comments # cotabulate :: forall (a :: SUBCAT ob) (b :: k). Ob a => ((Rep (CofreeSub ob) %% a) ~> b) -> Rep (CofreeSub ob) a b Source Comments # corepMap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> (Rep (CofreeSub ob) %% a) ~> (Rep (CofreeSub ob) %% b) Source Comments # | |||||
| Representable p => Corepresentable (Op p :: OPPOSITE j -> OPPOSITE k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Opposite Methods coindex :: forall (a :: OPPOSITE j) (b :: OPPOSITE k). Op p a b -> (Op p %% a) ~> b Source Comments # cotabulate :: forall (a :: OPPOSITE j) (b :: OPPOSITE k). Ob a => ((Op p %% a) ~> b) -> Op p a b Source Comments # corepMap :: forall (a :: OPPOSITE j) (b :: OPPOSITE j). (a ~> b) -> (Op p %% a) ~> (Op p %% b) 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 # | |||||
| Profunctor j2 => Corepresentable (Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) :: (k -> j1 -> Type) -> (i +-> k) -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Ran Methods coindex :: forall (a :: k -> j1 -> Type) (b :: i +-> k). Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) a b -> (Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: k -> j1 -> Type) (b :: i +-> k). Ob a => ((Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) %% a) ~> b) -> Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) a b Source Comments # corepMap :: forall (a :: k -> j1 -> Type) (b :: k -> j1 -> Type). (a ~> b) -> (Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) %% a) ~> (Star (Ran ('OP j2) :: (i +-> k) -> k -> j1 -> Type) %% b) Source Comments # | |||||
| Profunctor j2 => Corepresentable (Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) :: (k -> j1 -> Type) -> (j1 +-> i) -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.Rift Methods coindex :: forall (a :: k -> j1 -> Type) (b :: j1 +-> i). Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) a b -> (Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) %% a) ~> b Source Comments # cotabulate :: forall (a :: k -> j1 -> Type) (b :: j1 +-> i). Ob a => ((Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) %% a) ~> b) -> Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) a b Source Comments # corepMap :: forall (a :: k -> j1 -> Type) (b :: k -> j1 -> Type). (a ~> b) -> (Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) %% a) ~> (Star (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) %% b) Source Comments # | |||||
| HasColimits j k => Corepresentable (LimitAdj j :: COREPK b k -> REPK a k -> Type) Source Comments # | |||||
Defined in Proarrow.Adjunction Methods coindex :: forall (a0 :: COREPK b k) (b0 :: REPK a k). LimitAdj j a0 b0 -> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) %% a0) ~> b0 Source Comments # cotabulate :: forall (a0 :: COREPK b k) (b0 :: REPK a k). Ob a0 => (((LimitAdj j :: COREPK b k -> REPK a k -> Type) %% a0) ~> b0) -> LimitAdj j a0 b0 Source Comments # corepMap :: forall (a0 :: COREPK b k) (b0 :: COREPK b k). (a0 ~> b0) -> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) %% a0) ~> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) %% b0) Source Comments # | |||||
corepObj :: forall {k1} {k2} (p :: k1 +-> k2) (a :: k2). (Corepresentable p, Ob a) => Obj (p %% a) Source Comments #
withCorepOb :: forall {k1} {k2} (p :: k1 +-> k2) (a :: k2) r. (Corepresentable p, Ob a) => (Ob (p %% a) => r) -> r Source Comments #
dimapCorep :: forall {j} {k} p (a :: k) (b :: j) (c :: k) (d :: j). Corepresentable p => (c ~> a) -> (b ~> d) -> p a b -> p c d Source Comments #
trivialCorep :: forall {j} {k} p (a :: k). (Corepresentable p, Ob a) => p a (p %% a) Source Comments #
data Corep (f :: j +-> k) (a :: j) (b :: k) where Source Comments #
Constructors
| Corep | |
Instances
| MonoidalProfunctor (Corep Forget) Source Comments # | Forget is also a colax monoidal functor |
| FunctorForRep f => Profunctor (Corep f :: k -> j -> Type) Source Comments # | |
| FunctorForRep f => Corepresentable (Corep f :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Profunctor.Corepresentable | |
| HasFree ob => Representable (Corep (FreeSub ob) :: k -> SUBCAT ob -> Type) Source Comments # | By creating the right adjoint to the free functor, we obtain the free-forgetful adjunction. |
Defined in Proarrow.Profunctor.Free Methods index :: forall (a :: k) (b :: SUBCAT ob). Corep (FreeSub ob) a b -> a ~> (Corep (FreeSub ob) % b) Source Comments # tabulate :: forall (b :: SUBCAT ob) (a :: k). Ob b => (a ~> (Corep (FreeSub ob) % b)) -> Corep (FreeSub ob) a b Source Comments # repMap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> (Corep (FreeSub ob) % a) ~> (Corep (FreeSub ob) % b) Source Comments # | |
| type (Corep f :: k -> j -> Type) %% (a :: k) Source Comments # | |
Defined in Proarrow.Profunctor.Corepresentable | |
| type (Corep (FreeSub ob) :: k -> SUBCAT ob -> Type) % (a :: SUBCAT ob) Source Comments # | |