| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.Sub
Documentation
data SUBCAT (ob :: OB k) Source Github #
Constructors
| SUB k |
Instances
| SubMonoidal ob => Strong (SUBCAT ob) Unit Source Github # | |||||
| (ob Identity, forall (a :: Type -> Type) (b :: Type -> Type). (ob a, ob b) => ob (Compose a b)) => Strong (SUBCAT ob) (->) Source Github # | |||||
| SubMonoidal ob => Strong (SUBCAT ob) (->) Source Github # | |||||
| Applicative f => Strong (SUBCAT Traversable) (Star (Prelude f) :: Type -> Type -> Type) Source Github # | |||||
| (Cartesian k, Ob c, Strong (SUBCAT (Any :: k -> Constraint)) ((~>) :: CAT k)) => Strong (SUBCAT (Any :: k -> Constraint)) (Rep (Constant c) :: k -> k -> Type) Source Github # | |||||
| Monad m => Strong (SUBCAT (Algebra m)) (Classifying m a b :: Type -> Type -> Type) Source Github # | |||||
Defined in Proarrow.Category.Monoidal.Optic | |||||
| HasCofree ob => FunctorForRep (CofreeSub ob :: j +-> SUBCAT ob) Source Github # | |||||
| HasCofree ob => Corepresentable (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) Source Github # | |||||
Defined in Proarrow.Profunctor.Cofree Methods coindex :: forall (a :: SUBCAT ob) (b :: k). Rep (CofreeSub ob) a b -> (Rep (CofreeSub ob) %% a) ~> b Source Github # cotabulate :: forall (a :: SUBCAT ob) (b :: k). Ob a => ((Rep (CofreeSub ob) %% a) ~> b) -> Rep (CofreeSub ob) a b Source Github # corepMap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> (Rep (CofreeSub ob) %% a) ~> (Rep (CofreeSub ob) %% b) Source Github # | |||||
| EnrichedProfunctor v p => EnrichedProfunctor (Clone v) (Op p :: OPPOSITE j -> OPPOSITE k -> Type) Source Github # | |||||
Defined in Proarrow.Category.Enriched Methods withProObj :: forall (a :: OPPOSITE j) (b :: OPPOSITE k) r. (Ob a, Ob b) => (Ob (ProObj (Clone v) (Op p) a b) => r) -> r Source Github # underlying :: forall (a :: OPPOSITE j) (b :: OPPOSITE k). Op p a b -> (Unit :: Clone v) ~> ProObj (Clone v) (Op p) a b Source Github # enriched :: forall (a :: OPPOSITE j) (b :: OPPOSITE k). (Ob a, Ob b) => ((Unit :: Clone v) ~> ProObj (Clone v) (Op p) a b) -> Op p a b Source Github # rmap :: forall (a :: OPPOSITE j) (b :: OPPOSITE k) (c :: OPPOSITE k). (Ob a, Ob b, Ob c) => (HomObj (Clone v) b c ** ProObj (Clone v) (Op p) a b) ~> ProObj (Clone v) (Op p) a c Source Github # lmap :: forall (a :: OPPOSITE j) (b :: OPPOSITE k) (c :: OPPOSITE j). (Ob a, Ob b, Ob c) => (HomObj (Clone v) c a ** ProObj (Clone v) (Op p) a b) ~> ProObj (Clone v) (Op p) c b Source Github # | |||||
| SubMonoidal ob => Monoidal (SUBCAT ob) Source Github # | |||||
Defined in Proarrow.Category.Instance.Sub Associated Types
Methods withOb2 :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: SUBCAT ob). Ob a => ((Unit :: SUBCAT ob) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: SUBCAT ob). Ob a => a ~> ((Unit :: SUBCAT ob) ** a) Source Github # rightUnitor :: forall (a :: SUBCAT ob). Ob a => (a ** (Unit :: SUBCAT ob)) ~> a Source Github # rightUnitorInv :: forall (a :: SUBCAT ob). Ob a => a ~> (a ** (Unit :: SUBCAT ob)) Source Github # associator :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (c :: SUBCAT ob). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (c :: SUBCAT ob). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||
| (SymMonoidal k, SubMonoidal ob) => SymMonoidal (SUBCAT ob) Source Github # | |||||
| (SubMonoidal ob, CopyDiscard k) => CopyDiscard (SUBCAT ob) Source Github # | |||||
| CategoryOf k => CategoryOf (SUBCAT ob) Source Github # | The subcategory with objects with instances of the given constraint | ||||
Defined in Proarrow.Category.Instance.Sub | |||||
| (Monoidal (SUBCAT ob), Strong (SUBCAT ob) ((~>) :: CAT Type)) => MonoidalAction (SUBCAT ob) Type Source Github # | |||||
Defined in Proarrow.Category.Instance.Nat Methods withObAct :: forall (a :: SUBCAT ob) x r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: Ob x => Act (Unit :: SUBCAT ob) x ~> x Source Github # unitorInv :: Ob x => x ~> Act (Unit :: SUBCAT ob) x Source Github # multiplicator :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) x. (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) x. (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (Monoidal k, Monoidal (SUBCAT ob), Strong (SUBCAT ob) (Hom k)) => MonoidalAction (SUBCAT ob) k Source Github # | |||||
Defined in Proarrow.Category.Monoidal.Action Methods withObAct :: forall (a :: SUBCAT ob) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: k). Ob x => Act (Unit :: SUBCAT ob) x ~> x Source Github # unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: SUBCAT ob) x Source Github # multiplicator :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| CategoryOf k => FunctorForRep (Forget ob :: SUBCAT ob +-> k) Source Github # | |||||
| HasFree ob => Corepresentable (Rep (Forget ob) :: k -> SUBCAT ob -> Type) Source Github # | By creating the left adjoint to the forgetful functor, we obtain the free-forgetful adjunction. | ||||
Defined in Proarrow.Profunctor.Free Methods coindex :: forall (a :: k) (b :: SUBCAT ob). Rep (Forget ob) a b -> (Rep (Forget ob) %% a) ~> b Source Github # cotabulate :: forall (a :: k) (b :: SUBCAT ob). Ob a => ((Rep (Forget ob) %% a) ~> b) -> Rep (Forget ob) a b Source Github # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (Rep (Forget ob) %% a) ~> (Rep (Forget ob) %% b) Source Github # | |||||
| Monoid m => EnrichedProfunctor (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Github # | A monoid is a one object enriched category. | ||||
Defined in Proarrow.Category.Enriched Methods withProObj :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) => r) -> r Source Github # underlying :: forall (a :: MONOIDK m) (b :: MONOIDK m). Mon a b -> (Unit :: Clone k) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b Source Github # enriched :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => ((Unit :: Clone k) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) -> Mon a b Source Github # rmap :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (HomObj (Clone k) b c ** ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a c Source Github # lmap :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (HomObj (Clone k) c a ** ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) c b Source Github # | |||||
| Thin k => ThinProfunctor (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) Source Github # | |||||
Defined in Proarrow.Category.Instance.Rep Methods arr :: forall (a :: REPK j k) (b :: REPK j k). (Ob a, Ob b, HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) a b) => Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) a b Source Github # withArr :: forall (a :: REPK j k) (b :: REPK j k) r. Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) a b -> (HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) a b => r) -> r Source Github # | |||||
| (MonoidalProfunctor p, SubMonoidal ob) => MonoidalProfunctor (Sub p :: SUBCAT ob -> SUBCAT ob -> Type) Source Github # | |||||
| Profunctor p => Profunctor (Sub p :: SUBCAT ob -> SUBCAT ob -> Type) Source Github # | |||||
Defined in Proarrow.Category.Instance.Sub | |||||
| (Representable p, forall (a :: k). ob a => ob (p % a)) => Representable (Sub p :: SUBCAT ob -> SUBCAT ob -> Type) Source Github # | |||||
Defined in Proarrow.Category.Instance.Sub Methods index :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). Sub p a b -> a ~> ((Sub p :: SUBCAT ob -> SUBCAT ob -> Type) % b) Source Github # tabulate :: forall (b :: SUBCAT ob) (a :: SUBCAT ob). Ob b => (a ~> ((Sub p :: SUBCAT ob -> SUBCAT ob -> Type) % b)) -> Sub p a b Source Github # repMap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> ((Sub p :: SUBCAT ob -> SUBCAT ob -> Type) % a) ~> ((Sub p :: SUBCAT ob -> SUBCAT ob -> Type) % b) Source Github # | |||||
| Profunctor j => Profunctor (LimitAdj j :: COREPK b k -> REPK a k -> Type) Source Github # | |||||
Defined in Proarrow.Adjunction | |||||
| HasColimits j k => Corepresentable (LimitAdj j :: COREPK b k -> REPK a k -> Type) Source Github # | |||||
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 Github # 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 Github # 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 Github # | |||||
| HasLimits j k => Representable (LimitAdj j :: COREPK b k -> REPK a k -> Type) Source Github # | Colimit j -| Limit j | ||||
Defined in Proarrow.Adjunction Methods index :: forall (a0 :: COREPK b k) (b0 :: REPK a k). LimitAdj j a0 b0 -> a0 ~> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) % b0) Source Github # tabulate :: forall (b0 :: REPK a k) (a0 :: COREPK b k). Ob b0 => (a0 ~> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) % b0)) -> LimitAdj j a0 b0 Source Github # repMap :: forall (a0 :: REPK a k) (b0 :: REPK a k). (a0 ~> b0) -> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) % a0) ~> ((LimitAdj j :: COREPK b k -> REPK a k -> Type) % b0) Source Github # | |||||
| Promonad p => Promonad (Sub p :: SUBCAT ob -> SUBCAT ob -> Type) Source Github # | |||||
| HasFree (On Monoid Semigroup) Source Github # | |||||
Defined in Proarrow.Profunctor.Free | |||||
| type (CofreeSub ob :: j +-> SUBCAT ob) @ (a :: j) Source Github # | |||||
| type UN ('SUB :: j -> SUBCAT ob) ('SUB k :: SUBCAT ob) Source Github # | |||||
| type (Rep (Forget ob) :: k -> SUBCAT ob -> Type) %% (a :: k) Source Github # | |||||
| type ProObj (Clone v) (Op p :: OPPOSITE j -> OPPOSITE k -> Type) ('OP a :: OPPOSITE j) ('OP b :: OPPOSITE k) Source Github # | |||||
| type Unit Source Github # | |||||
Defined in Proarrow.Category.Instance.Sub | |||||
| type (~>) Source Github # | |||||
| type Ob (a :: SUBCAT ob) Source Github # | |||||
| type (a :: SUBCAT ob) ** (b :: SUBCAT ob) Source Github # | |||||
| type Act (p :: SUBCAT ob) (x :: Type) Source Github # | |||||
| type Act (p :: SUBCAT ob) (x :: k) Source Github # | |||||
| type (Forget ob :: SUBCAT ob +-> k) @ ('SUB a :: SUBCAT ob) Source Github # | |||||
| type (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) %% (a :: SUBCAT ob) Source Github # | |||||
| type ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) ('M :: MONOIDK m) ('M :: MONOIDK m) Source Github # | |||||
| type (Sub p :: SUBCAT ob -> SUBCAT ob -> Type) % (a :: SUBCAT ob) Source Github # | |||||
| type HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) (REP p :: REPK j k) (REP q :: REPK j k) Source Github # | |||||
Defined in Proarrow.Category.Instance.Rep type HasArrow (Sub (Prof :: (j +-> k) -> (j +-> k) -> Type) :: SUBCAT (Representable :: (j +-> k) -> Constraint) -> SUBCAT (Representable :: (j +-> k) -> Constraint) -> Type) (REP p :: REPK j k) (REP q :: REPK j k) = HasAllArrows p q | |||||
| type (LimitAdj j :: COREPK b k -> REPK a k -> Type) %% (c :: COREPK b k) Source Github # | |||||
| type (LimitAdj j :: COREPK b k -> REPK a k -> Type) % (r :: REPK a k) Source Github # | |||||
| type Free (On Monoid Semigroup) Source Github # | |||||
data Sub (p :: CAT k) (a :: SUBCAT ob) (b :: SUBCAT ob) where Source Github #
Constructors
| Sub | |
Instances
class c (UN ('SUB :: k -> SUBCAT ob) a) => On (c :: k -> Constraint) (ob :: OB k) (a :: SUBCAT ob) Source Github #
class ob (a ** b) => IsObMult (ob :: OB k) (a :: k) (b :: k) Source Github #
Instances
| ob (a ** b) => IsObMult (ob :: k -> Constraint) (a :: k) (b :: k) Source Github # | |
Defined in Proarrow.Category.Instance.Sub | |
class (Monoidal k, ob (Unit :: k), forall (a :: k) (b :: k). (ob a, ob b) => IsObMult ob a b) => SubMonoidal (ob :: OB k) Source Github #
Instances
| (Monoidal k, ob (Unit :: k), forall (a :: k) (b :: k). (ob a, ob b) => IsObMult ob a b) => SubMonoidal (ob :: k -> Constraint) Source Github # | |
Defined in Proarrow.Category.Instance.Sub | |
data family Forget :: forall (ob :: OB k) -> SUBCAT ob +-> k Source Github #
Instances
| CategoryOf k => FunctorForRep (Forget ob :: SUBCAT ob +-> k) Source Github # | |
| HasFree ob => Corepresentable (Rep (Forget ob) :: k -> SUBCAT ob -> Type) Source Github # | By creating the left adjoint to the forgetful functor, we obtain the free-forgetful adjunction. |
Defined in Proarrow.Profunctor.Free Methods coindex :: forall (a :: k) (b :: SUBCAT ob). Rep (Forget ob) a b -> (Rep (Forget ob) %% a) ~> b Source Github # cotabulate :: forall (a :: k) (b :: SUBCAT ob). Ob a => ((Rep (Forget ob) %% a) ~> b) -> Rep (Forget ob) a b Source Github # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (Rep (Forget ob) %% a) ~> (Rep (Forget ob) %% b) Source Github # | |
| type (Rep (Forget ob) :: k -> SUBCAT ob -> Type) %% (a :: k) Source Github # | |
| type (Forget ob :: SUBCAT ob +-> k) @ ('SUB a :: SUBCAT ob) Source Github # | |