Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class (MonoidalAction m c, MonoidalAction m' d, Profunctor p) => Strong (w :: m +-> m') (p :: c +-> d) where
- class (Monoidal m, CategoryOf k, Strong ((~>) :: CAT m) ((~>) :: CAT k)) => MonoidalAction m k where
- type Act (a :: m) (x :: k) :: k
- 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 (Act b x) ~> Act (a ** b) x
- multiplicatorInv :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x)
- 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
Documentation
class (MonoidalAction m c, MonoidalAction m' d, Profunctor p) => Strong (w :: m +-> m') (p :: c +-> d) where Source Comments #
Weighted strength for a monoidal action. Usually this is used unweighted, where w
is an arrow.
act :: forall (a :: m') (b :: m) (x :: d) (y :: c). w a b -> p x y -> p (Act a x) (Act b y) Source Comments #
Instances
class (Monoidal m, CategoryOf k, Strong ((~>) :: CAT m) ((~>) :: CAT k)) => MonoidalAction m k where Source Comments #
unitor :: forall (x :: k). Ob x => Act (Unit :: m) x ~> x Source Comments #
unitorInv :: forall (x :: k). Ob x => x ~> Act (Unit :: m) x Source Comments #
multiplicator :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Comments #
multiplicatorInv :: forall (a :: m) (b :: m) (x :: k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Comments #