| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Kindly.Trifunctor
Contents
Description
Three Parameter Functors of arbitrary varience.
Synopsis
- type Trifunctor cat1 cat2 cat3 p = (MapArg3 cat3 cat2 cat1 p, forall x. MapArg2 cat2 cat1 (p x), forall x y. MapArg1 cat1 (p x y))
- trimap :: forall cat1 cat2 cat3 p. Trifunctor cat1 cat2 cat3 p => forall a b c a' b' c'. (a `cat3` a') -> (b `cat2` b') -> (c `cat1` c') -> p a b c -> p a' b' c'
Documentation
type Trifunctor cat1 cat2 cat3 p = (MapArg3 cat3 cat2 cat1 p, forall x. MapArg2 cat2 cat1 (p x), forall x y. MapArg1 cat1 (p x y)) Source #
A CategoricalFunctor of kind Type -> Type -> Type mapping from an
arbitrary category cat1 to a functor category cat2 ~> cat3 ~> (->).
trimap :: forall cat1 cat2 cat3 p. Trifunctor cat1 cat2 cat3 p => forall a b c a' b' c'. (a `cat3` a') -> (b `cat2` b') -> (c `cat1` c') -> p a b c -> p a' b' c' Source #
Lift a morphism cat1 a a', a morphism cat2 b b', and a morphism cat3 c c' into a -- function p a b c -> p a' b' c'.
Orphan instances
| MapArg3 (->) (->) (->) (,,) Source # | |
| MapArg3 (->) (->) (->) ((,,,) x :: Type -> Type -> Type -> Type) Source # | |
| MapArg3 (->) (->) (->) ((,,,,) x x' :: Type -> Type -> Type -> Type) Source # | |
| MapArg3 (->) (->) (->) ((,,,,,) x x' x'' :: Type -> Type -> Type -> Type) Source # | |
| MapArg3 (->) (->) (->) ((,,,,,,) x x' x'' x''' :: Type -> Type -> Type -> Type) Source # | |
| CategoricalFunctor (,,) Source # | |
| CategoricalFunctor ((,,,) x :: Type -> Type -> Type -> Type) Source # | |
| CategoricalFunctor ((,,,,) x x' :: Type -> Type -> Type -> Type) Source # | |
| CategoricalFunctor ((,,,,,) x x' x'' :: Type -> Type -> Type -> Type) Source # | |
| CategoricalFunctor ((,,,,,,) x x' x'' x''' :: Type -> Type -> Type -> Type) Source # | |