Safe Haskell | None |
---|---|
Language | GHC2024 |
Proarrow.Object.Copower
Contents
Synopsis
- class (Enriched v k, Closed v) => Copowered v k where
- type (n :: v) *. (a :: k) :: k
- withObCopower :: forall (a :: k) (n :: v) r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r
- copower :: forall (a :: k) (b :: k) (n :: v). (Ob a, Ob b) => (n ~> HomObj v a b) -> (n *. a) ~> b
- uncopower :: forall (a :: k) (n :: v) (b :: k). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj v a b
- mapCopower :: forall {k} {v} (a :: k) (n :: v) (m :: v). (Copowered v k, Ob a) => (n ~> m) -> (n *. a) ~> (m *. a)
- data (n :*.: (p :: k -> k1 -> Type)) (a :: k) (b :: k1) where
- class HomObj v ('OP a) ('OP b) ~ HomObj v b a => HomObjOp v (a :: k) (b :: k)
Documentation
class (Enriched v k, Closed v) => Copowered v k where Source Comments #
Categories copowered over Hask.
Methods
withObCopower :: forall (a :: k) (n :: v) r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments #
copower :: forall (a :: k) (b :: k) (n :: v). (Ob a, Ob b) => (n ~> HomObj v a b) -> (n *. a) ~> b Source Comments #
uncopower :: forall (a :: k) (n :: v) (b :: k). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj v a b Source Comments #
Instances
Copowered Type LINEAR Source Comments # | |||||
Defined in Proarrow.Category.Instance.Linear Methods withObCopower :: forall (a :: LINEAR) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: LINEAR) (b :: LINEAR) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: LINEAR) n (b :: LINEAR). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # | |||||
Copowered Type POINTED Source Comments # | |||||
Defined in Proarrow.Category.Instance.PointedHask Methods withObCopower :: forall (a :: POINTED) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: POINTED) (b :: POINTED) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: POINTED) n (b :: POINTED). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # | |||||
Copowered Type () Source Comments # | |||||
Defined in Proarrow.Object.Copower Associated Types
Methods withObCopower :: forall (a :: ()) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: ()) (b :: ()) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: ()) n (b :: ()). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # | |||||
Copowered Type Type Source Comments # | |||||
Defined in Proarrow.Object.Copower Associated Types
| |||||
(Powered v k, Enriched v (OPPOSITE k), forall (a :: k) (b :: k). HomObjOp v a b) => Copowered v (OPPOSITE k) Source Comments # | |||||
Defined in Proarrow.Object.Copower Methods withObCopower :: forall (a :: OPPOSITE k) (n :: v) r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) (n :: v). (Ob a, Ob b) => (n ~> HomObj v a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: OPPOSITE k) (n :: v) (b :: OPPOSITE k). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj v a b Source Comments # | |||||
(CategoryOf j, CategoryOf k) => Copowered Type (j +-> k) Source Comments # | |||||
Defined in Proarrow.Object.Copower Methods withObCopower :: forall (a :: j +-> k) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: j +-> k) (b :: j +-> k) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: j +-> k) n (b :: j +-> k). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # | |||||
(Copowered Type j, Copowered Type k) => Copowered Type (j, k) Source Comments # | |||||
Defined in Proarrow.Object.Copower Methods withObCopower :: forall (a :: (j, k)) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: (j, k)) (b :: (j, k)) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: (j, k)) n (b :: (j, k)). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # | |||||
Copowered Type (k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Nat Methods withObCopower :: forall (a :: k -> Type) n r. (Ob a, Ob n) => (Ob (n *. a) => r) -> r Source Comments # copower :: forall (a :: k -> Type) (b :: k -> Type) n. (Ob a, Ob b) => (n ~> HomObj Type a b) -> (n *. a) ~> b Source Comments # uncopower :: forall (a :: k -> Type) n (b :: k -> Type). (Ob a, Ob n) => ((n *. a) ~> b) -> n ~> HomObj Type a b Source Comments # |
mapCopower :: forall {k} {v} (a :: k) (n :: v) (m :: v). (Copowered v k, Ob a) => (n ~> m) -> (n *. a) ~> (m *. a) Source Comments #
data (n :*.: (p :: k -> k1 -> Type)) (a :: k) (b :: k1) where Source Comments #
Constructors
Copower :: forall {k} {k1} n (p :: k -> k1 -> Type) (a :: k) (b :: k1). n -> p a b -> (n :*.: p) a b |
Instances
Profunctor p => Profunctor (n :*.: p :: k -> j -> Type) Source Comments # | |
Orphan instances
(Copowered v k, Enriched v (OPPOSITE k), forall (a :: k) (b :: k). HomObjOp v a b) => Powered v (OPPOSITE k) Source Comments # | |
Methods withObPower :: forall (a :: OPPOSITE k) (n :: v) r. (Ob a, Ob n) => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) (n :: v). (Ob a, Ob b) => (n ~> HomObj v a b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: OPPOSITE k) (n :: v) (a :: OPPOSITE k). (Ob b, Ob n) => (a ~> (b ^ n)) -> n ~> HomObj v a b Source Comments # |