Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Object.Power
Documentation
class CategoryOf k => Powered k where Source Comments #
Categories powered over Hask.
Methods
withObPower :: forall (a :: k) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments #
power :: forall (a :: k) (b :: k) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments #
unpower :: forall (b :: k) (a :: k) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments #
Instances
Powered LINEAR Source Comments # | |||||
Defined in Proarrow.Category.Instance.Linear Associated Types
Methods withObPower :: forall (a :: LINEAR) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: LINEAR) (b :: LINEAR) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: LINEAR) (a :: LINEAR) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # | |||||
Powered POINTED Source Comments # | |||||
Defined in Proarrow.Category.Instance.PointedHask Methods withObPower :: forall (a :: POINTED) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: POINTED) (b :: POINTED) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: POINTED) (a :: POINTED) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # | |||||
Powered () Source Comments # | |||||
Defined in Proarrow.Object.Power Associated Types
| |||||
Powered Type Source Comments # | |||||
Defined in Proarrow.Object.Power Associated Types
| |||||
Copowered k => Powered (OPPOSITE k) Source Comments # | |||||
Defined in Proarrow.Category.Opposite Methods withObPower :: forall (a :: OPPOSITE k) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: OPPOSITE k) (a :: OPPOSITE k) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # | |||||
(CategoryOf j, CategoryOf k) => Powered (j +-> k) Source Comments # | |||||
Defined in Proarrow.Object.Power Methods withObPower :: forall (a :: j +-> k) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: j +-> k) (b :: j +-> k) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: j +-> k) (a :: j +-> k) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # | |||||
(Powered j, Powered k) => Powered (j, k) Source Comments # | |||||
Defined in Proarrow.Object.Power Methods withObPower :: forall (a :: (j, k)) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: (j, k)) (b :: (j, k)) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: (j, k)) (a :: (j, k)) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # | |||||
Powered (k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Nat Methods withObPower :: forall (a :: k -> Type) n r. Ob a => (Ob (a ^ n) => r) -> r Source Comments # power :: forall (a :: k -> Type) (b :: k -> Type) n. (Ob a, Ob b) => (n -> a ~> b) -> a ~> (b ^ n) Source Comments # unpower :: forall (b :: k -> Type) (a :: k -> Type) n. Ob b => (a ~> (b ^ n)) -> n -> a ~> b Source Comments # |
mapBase :: forall k (a :: k) (b :: k) n. Powered k => (a ~> b) -> (a ^ n) ~> (b ^ n) Source Comments #
mapPower :: forall k (a :: k) n m. (Powered k, Ob a) => (n -> m) -> (a ^ m) ~> (a ^ n) Source Comments #