| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Monoidal.Action
Synopsis
- class (MonoidalAction m c, MonoidalAction m d, Profunctor p) => Strong m (p :: c +-> d) where
- class (Monoidal m, CategoryOf k, Strong m (Hom k)) => MonoidalAction m k where
- type Act (a :: m) (x :: k) :: k
- withObAct :: forall (a :: m) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r
- unitor :: forall (x :: k). Ob x => Act (Unit :: m) x ~> x
- unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: m) x
- multiplicator :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x)
- multiplicatorInv :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x
- newtype Action (a :: m) (x :: j) (y :: j) = Action (Rep (Action' a) x y)
- data family Action' :: m -> k +-> k
- par0Action :: forall m k (x :: k). (MonoidalAction m k, Ob x) => Action (Unit :: m) x x
- parAction :: forall {m} {k} (a :: m) (b :: m) (x :: k) (y :: k) (z :: k). (MonoidalAction m k, Ob a, Ob b) => Action a x y -> Action b y z -> Action (a ** b) x z
- class (MonoidalAction m k, SymMonoidal m) => SymMonoidalAction m k
- class Act a b ~ (a ** b) => ActIsTensor (a :: k) (b :: k)
- class (Act a (Act b c) ~ (a ** (b ** c)), (a ** Act b c) ~ (a ** (b ** c)), Act a (b ** c) ~ (a ** (b ** c))) => ActIsTensor3 (a :: k) (b :: k) (c :: k)
- class (SymMonoidalAction k k, Strong k ((~>) :: CAT k), forall (a :: k) (b :: k). ActIsTensor a b, forall (a :: k) (b :: k) (c :: k). ActIsTensor3 a b c) => SelfAction k
- toSelfAct :: forall {k} (a :: k) (b :: k). (SelfAction k, Ob a, Ob b) => (a ** b) ~> Act a b
- fromSelfAct :: forall {k} (a :: k) (b :: k). (SelfAction k, Ob a, Ob b) => Act a b ~> (a ** b)
- composeActs :: forall {m} {k} (x :: m) (y :: m) (c :: k) (a :: k) (b :: k). (MonoidalAction m k, Ob x, Ob y, Ob c) => (a ~> Act x b) -> (b ~> Act y c) -> a ~> Act (x ** y) c
- decomposeActs :: forall {m} {k} (x :: m) (y :: m) (c :: k) (a :: k) (b :: k). (MonoidalAction m k, Ob x, Ob y, Ob c) => (Act y c ~> b) -> (Act x b ~> a) -> Act (x ** y) c ~> a
- first' :: forall {k} {p} (c :: k) (a :: k) (b :: k). (SelfAction k, Strong k p, Ob c) => p a b -> p (a ** c) (b ** c)
- second' :: forall {k} {p} (c :: k) (a :: k) (b :: k). (SelfAction k, Strong k p, Ob c) => p a b -> p (c ** a) (c ** b)
- strength :: forall {k1} {k2} {m} (p :: k1 +-> k2) (a :: m) (b :: k1). (Representable p, Strong m p, Ob a, Ob b) => Act a (p % b) ~> (p % Act a b)
- costrength :: forall {k1} {k2} {m} (p :: k1 +-> k2) (a :: m) (b :: k2). (Corepresentable p, Strong m p, Ob a, Ob b) => (p %% Act a b) ~> Act a (p %% b)
- prepar :: forall {k} {p} (a :: k) (b :: k) (c :: k) (d :: k). (SelfAction k, Strong k p, Promonad p) => p a b -> p c d -> p (a ** c) (b ** d)
- strongPar0 :: forall {k} {p} (a :: k). (SelfAction k, Strong k p, MonoidalProfunctor p, Ob a) => p a a
- class (MonoidalAction m c, MonoidalAction m d, Profunctor p) => Costrong m (p :: c +-> d) where
- trace :: forall {k} p (u :: k) (x :: k) (y :: k). (SelfAction k, Costrong k p, Ob x, Ob y, Ob u) => p (x ** u) (y ** u) -> p x y
- class (SelfAction k, Costrong k (Hom k)) => TracedMonoidal k
Documentation
class (MonoidalAction m c, MonoidalAction m d, Profunctor p) => Strong m (p :: c +-> d) where Source Github #
Profuntorial strength for a monoidal action. Gives functorial strength for representable profunctors, and functorial costrength for corepresentable profunctors.
Methods
act :: forall (a :: m) (b :: m) (x :: d) (y :: c). (a ~> b) -> p x y -> p (Act a x) (Act b y) Source Github #
Instances
class (Monoidal m, CategoryOf k, Strong m (Hom k)) => MonoidalAction m k where Source Github #
Methods
withObAct :: forall (a :: m) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github #
unitor :: forall (x :: k). Ob x => Act (Unit :: m) x ~> x Source Github #
unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: m) x Source Github #
multiplicator :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github #
multiplicatorInv :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github #
Instances
| MonoidalAction Nat Nat Source Github # | |||||
Defined in Proarrow.Category.Instance.ZX Associated Types
Methods withObAct :: forall (a :: Nat) (x :: Nat) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: Nat). Ob x => Act (Unit :: Nat) x ~> x Source Github # unitorInv :: forall (x :: Nat). Ob x => x ~> Act (Unit :: Nat) x Source Github # multiplicator :: forall (a :: Nat) (b :: Nat) (x :: Nat). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: Nat) (b :: Nat) (x :: Nat). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| MonoidalAction KIND KIND Source Github # | |||||
Defined in Proarrow.Category.Instance.Cat Associated Types
Methods withObAct :: forall (a :: KIND) (x :: KIND) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: KIND). Ob x => Act (Unit :: KIND) x ~> x Source Github # unitorInv :: forall (x :: KIND). Ob x => x ~> Act (Unit :: KIND) x Source Github # multiplicator :: forall (a :: KIND) (b :: KIND) (x :: KIND). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: KIND) (b :: KIND) (x :: KIND). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| MonoidalAction FINREL FINREL Source Github # | |||||
Defined in Proarrow.Category.Instance.FinRel Associated Types
Methods withObAct :: forall (a :: FINREL) (x :: FINREL) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: FINREL). Ob x => Act (Unit :: FINREL) x ~> x Source Github # unitorInv :: forall (x :: FINREL). Ob x => x ~> Act (Unit :: FINREL) x Source Github # multiplicator :: forall (a :: FINREL) (b :: FINREL) (x :: FINREL). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: FINREL) (b :: FINREL) (x :: FINREL). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| MonoidalAction DOT DOT Source Github # | |||||
Defined in Proarrow.Tools.Diagrams.Dot Associated Types
Methods withObAct :: forall (a :: DOT) (x :: DOT) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: DOT). Ob x => Act (Unit :: DOT) x ~> x Source Github # unitorInv :: forall (x :: DOT). Ob x => x ~> Act (Unit :: DOT) x Source Github # multiplicator :: forall (a :: DOT) (b :: DOT) (x :: DOT). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: DOT) (b :: DOT) (x :: DOT). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (CategoryOf k, Strong () (Hom k)) => MonoidalAction () k Source Github # | |||||
Defined in Proarrow.Category.Monoidal.Action Methods withObAct :: forall (a :: ()) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: k). Ob x => Act (Unit :: ()) x ~> x Source Github # unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: ()) x Source Github # multiplicator :: forall (a :: ()) (b :: ()) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: ()) (b :: ()) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| MonoidalAction Type Type Source Github # | |||||
Defined in Proarrow.Object.BinaryProduct Associated Types
Methods withObAct :: (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: Ob x => Act (Unit :: Type) x ~> x Source Github # unitorInv :: Ob x => x ~> Act (Unit :: Type) x Source Github # multiplicator :: (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| MonoidalAction Type (COPROD Type) Source Github # | |||||
Defined in Proarrow.Object.BinaryCoproduct Methods withObAct :: forall a (x :: COPROD Type) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: COPROD Type). Ob x => Act (Unit :: Type) x ~> x Source Github # unitorInv :: forall (x :: COPROD Type). Ob x => x ~> Act (Unit :: Type) x Source Github # multiplicator :: forall a b (x :: COPROD Type). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall a b (x :: COPROD Type). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (Promonad p, MonoidalProfunctor p) => MonoidalAction Type (KLEISLI p) Source Github # | |||||
Defined in Proarrow.Category.Instance.Kleisli Methods withObAct :: forall a (x :: KLEISLI p) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: KLEISLI p). Ob x => Act (Unit :: Type) x ~> x Source Github # unitorInv :: forall (x :: KLEISLI p). Ob x => x ~> Act (Unit :: Type) x Source Github # multiplicator :: forall a b (x :: KLEISLI p). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall a b (x :: KLEISLI p). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (HasCoproducts k, Strong (COPROD k) ((~>) :: CAT k)) => MonoidalAction (COPROD k) k Source Github # | |||||
Defined in Proarrow.Object.BinaryCoproduct Methods withObAct :: forall (a :: COPROD k) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: k). Ob x => Act (Unit :: COPROD k) x ~> x Source Github # unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: COPROD k) x Source Github # multiplicator :: forall (a :: COPROD k) (b :: COPROD k) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: COPROD k) (b :: COPROD k) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (HasProducts k, Strong (PROD k) (Hom k)) => MonoidalAction (PROD k) k Source Github # | |||||
Defined in Proarrow.Object.BinaryProduct Methods withObAct :: forall (a :: PROD k) (x :: k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: k). Ob x => Act (Unit :: PROD k) x ~> x Source Github # unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: PROD k) x Source Github # multiplicator :: forall (a :: PROD k) (b :: PROD k) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: PROD k) (b :: PROD k) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| Num a => MonoidalAction (MatK a) (MatK a) Source Github # | |||||
Defined in Proarrow.Category.Instance.Mat Methods withObAct :: forall (a0 :: MatK a) (x :: MatK a) r. (Ob a0, Ob x) => (Ob (Act a0 x) => r) -> r Source Github # unitor :: forall (x :: MatK a). Ob x => Act (Unit :: MatK a) x ~> x Source Github # unitorInv :: forall (x :: MatK a). Ob x => x ~> Act (Unit :: MatK a) x Source Github # multiplicator :: forall (a0 :: MatK a) (b :: MatK a) (x :: MatK a). (Ob a0, Ob b, Ob x) => Act (a0 ** b) x ~> Act a0 (Act b x) Source Github # multiplicatorInv :: forall (a0 :: MatK a) (b :: MatK a) (x :: MatK a). (Ob a0, Ob b, Ob x) => Act a0 (Act b x) ~> Act (a0 ** b) x Source Github # | |||||
| MonoidalAction m k => MonoidalAction (OPPOSITE m) (OPPOSITE k) Source Github # | |||||
Defined in Proarrow.Category.Monoidal.Action Methods withObAct :: forall (a :: OPPOSITE m) (x :: OPPOSITE k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: OPPOSITE k). Ob x => Act (Unit :: OPPOSITE m) x ~> x Source Github # unitorInv :: forall (x :: OPPOSITE k). Ob x => x ~> Act (Unit :: OPPOSITE m) x Source Github # multiplicator :: forall (a :: OPPOSITE m) (b :: OPPOSITE m) (x :: OPPOSITE k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: OPPOSITE m) (b :: OPPOSITE m) (x :: OPPOSITE k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (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 # | |||||
| MonoidalAction (Type -> Type) Type Source Github # | |||||
Defined in Proarrow.Category.Instance.Nat Associated Types
Methods withObAct :: forall (a :: Type -> Type) x r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: Ob x => Act (Unit :: Type -> Type) x ~> x Source Github # unitorInv :: Ob x => x ~> Act (Unit :: Type -> Type) x Source Github # multiplicator :: forall (a :: Type -> Type) (b :: Type -> Type) x. (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: Type -> Type) (b :: Type -> Type) x. (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
| (Monoidal j, Monoidal k) => MonoidalAction (j +-> k) (j +-> k) Source Github # | |||||
Defined in Proarrow.Profunctor.Day Methods withObAct :: forall (a :: j +-> k) (x :: j +-> k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: j +-> k). Ob x => Act (Unit :: j +-> k) x ~> x Source Github # unitorInv :: forall (x :: j +-> k). Ob x => x ~> Act (Unit :: j +-> k) x Source Github # multiplicator :: forall (a :: j +-> k) (b :: j +-> k) (x :: j +-> k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: j +-> k) (b :: j +-> k) (x :: j +-> k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||
newtype Action (a :: m) (x :: j) (y :: j) Source Github #
Instances
| (Ob a, MonoidalAction m k) => Profunctor (Action a :: k -> k -> Type) Source Github # | |
| (Ob a, MonoidalAction m k) => Representable (Action a :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Action Methods index :: forall (a0 :: k) (b :: k). Action a a0 b -> a0 ~> ((Action a :: k -> k -> Type) % b) Source Github # tabulate :: forall (b :: k) (a0 :: k). Ob b => (a0 ~> ((Action a :: k -> k -> Type) % b)) -> Action a a0 b Source Github # repMap :: forall (a0 :: k) (b :: k). (a0 ~> b) -> ((Action a :: k -> k -> Type) % a0) ~> ((Action a :: k -> k -> Type) % b) Source Github # | |
| type (Action a1 :: k -> k -> Type) % (a2 :: k) Source Github # | |
data family Action' :: m -> k +-> k Source Github #
Instances
| (MonoidalAction m k, Ob a) => FunctorForRep (Action' a :: k +-> k) Source Github # | |
| type (Action' a :: k +-> k) @ (x :: k) Source Github # | |
Defined in Proarrow.Category.Monoidal.Action | |
par0Action :: forall m k (x :: k). (MonoidalAction m k, Ob x) => Action (Unit :: m) x x Source Github #
parAction :: forall {m} {k} (a :: m) (b :: m) (x :: k) (y :: k) (z :: k). (MonoidalAction m k, Ob a, Ob b) => Action a x y -> Action b y z -> Action (a ** b) x z Source Github #
class (MonoidalAction m k, SymMonoidal m) => SymMonoidalAction m k Source Github #
Instances
| (MonoidalAction m k, SymMonoidal m) => SymMonoidalAction m k Source Github # | |
Defined in Proarrow.Category.Monoidal.Action | |
class Act a b ~ (a ** b) => ActIsTensor (a :: k) (b :: k) Source Github #
Instances
| Act a b ~ (a ** b) => ActIsTensor (a :: k) (b :: k) Source Github # | |
Defined in Proarrow.Category.Monoidal.Action | |
class (Act a (Act b c) ~ (a ** (b ** c)), (a ** Act b c) ~ (a ** (b ** c)), Act a (b ** c) ~ (a ** (b ** c))) => ActIsTensor3 (a :: k) (b :: k) (c :: k) Source Github #
class (SymMonoidalAction k k, Strong k ((~>) :: CAT k), forall (a :: k) (b :: k). ActIsTensor a b, forall (a :: k) (b :: k) (c :: k). ActIsTensor3 a b c) => SelfAction k Source Github #
Instances
| (SymMonoidalAction k k, Strong k ((~>) :: CAT k), forall (a :: k) (b :: k). ActIsTensor a b, forall (a :: k) (b :: k) (c :: k). ActIsTensor3 a b c) => SelfAction k Source Github # | |
Defined in Proarrow.Category.Monoidal.Action | |
toSelfAct :: forall {k} (a :: k) (b :: k). (SelfAction k, Ob a, Ob b) => (a ** b) ~> Act a b Source Github #
fromSelfAct :: forall {k} (a :: k) (b :: k). (SelfAction k, Ob a, Ob b) => Act a b ~> (a ** b) Source Github #
composeActs :: forall {m} {k} (x :: m) (y :: m) (c :: k) (a :: k) (b :: k). (MonoidalAction m k, Ob x, Ob y, Ob c) => (a ~> Act x b) -> (b ~> Act y c) -> a ~> Act (x ** y) c Source Github #
decomposeActs :: forall {m} {k} (x :: m) (y :: m) (c :: k) (a :: k) (b :: k). (MonoidalAction m k, Ob x, Ob y, Ob c) => (Act y c ~> b) -> (Act x b ~> a) -> Act (x ** y) c ~> a Source Github #
first' :: forall {k} {p} (c :: k) (a :: k) (b :: k). (SelfAction k, Strong k p, Ob c) => p a b -> p (a ** c) (b ** c) Source Github #
second' :: forall {k} {p} (c :: k) (a :: k) (b :: k). (SelfAction k, Strong k p, Ob c) => p a b -> p (c ** a) (c ** b) Source Github #
strength :: forall {k1} {k2} {m} (p :: k1 +-> k2) (a :: m) (b :: k1). (Representable p, Strong m p, Ob a, Ob b) => Act a (p % b) ~> (p % Act a b) Source Github #
If a strong profunctor is representable, we get the usual strength for the representing functor.
costrength :: forall {k1} {k2} {m} (p :: k1 +-> k2) (a :: m) (b :: k2). (Corepresentable p, Strong m p, Ob a, Ob b) => (p %% Act a b) ~> Act a (p %% b) Source Github #
If a strong profunctor is corepresentable, we get the usual costrength for the representing functor.
prepar :: forall {k} {p} (a :: k) (b :: k) (c :: k) (d :: k). (SelfAction k, Strong k p, Promonad p) => p a b -> p c d -> p (a ** c) (b ** d) Source Github #
strongPar0 :: forall {k} {p} (a :: k). (SelfAction k, Strong k p, MonoidalProfunctor p, Ob a) => p a a Source Github #
class (MonoidalAction m c, MonoidalAction m d, Profunctor p) => Costrong m (p :: c +-> d) where Source Github #
Methods
coact :: forall (a :: m) (x :: d) (y :: c). (Ob a, Ob x, Ob y) => p (Act a x) (Act a y) -> p x y Source Github #
Instances
| Costrong Nat ZX Source Github # | |
| Costrong KIND Cat Source Github # | |
| Costrong FINREL FinRel Source Github # | |
| Costrong DOT Dot Source Github # | |
| MonadFix m => Costrong Type (Kleisli m :: Type -> Type -> Type) Source Github # | |
| ArrowLoop arr => Costrong Type (Arr arr :: Type -> Type -> Type) Source Github # | |
| ProdAction k => Costrong k (Fold :: k -> k -> Type) Source Github # | |
| (MonoidalAction m k, Costrong m (Hom k)) => Costrong m (Id :: k -> k -> Type) Source Github # | |
| Costrong Type (->) Source Github # | |
| Strong m p => Costrong m (Re p s t :: d -> c -> Type) Source Github # | |
| Costrong (COPROD LINEAR) Linear Source Github # | |
| Costrong (COPROD Type) (Id :: Type -> Type -> Type) Source Github # | |
| Num a => Costrong (MatK a) (Mat :: MatK a -> MatK a -> Type) Source Github # | |
trace :: forall {k} p (u :: k) (x :: k) (y :: k). (SelfAction k, Costrong k p, Ob x, Ob y, Ob u) => p (x ** u) (y ** u) -> p x y Source Github #
class (SelfAction k, Costrong k (Hom k)) => TracedMonoidal k Source Github #
Instances
| (SelfAction k, Costrong k (Hom k)) => TracedMonoidal k Source Github # | |
Defined in Proarrow.Category.Monoidal.Action | |