 | category-extras-0.53.6: Various modules and constructs inspired by category theory | Contents | Index |
|
| Control.Functor.Combinators.Lift | | Portability | non-portable (functional-dependencies) | | Stability | experimental | | Maintainer | Edward Kmett <ekmett@gmail.com> |
|
|
|
| Description |
| transform a pair of functors with a bifunctor deriving a new functor.
this subsumes functor product and functor coproduct
|
|
|
| Documentation |
|
| newtype Lift p f g a |
| Constructors | | Instances | | MonadIdeal m => Monad (Ideal m) | | Functor f => Pointed (Ideal f) | | Functor f => Copointed (Coideal f) | | ComonadCoideal w => Comonad (Coideal w) | | Bifunctor p Hask Hask Hask => HFunctor (Ap p) | | (Faithful f, Faithful g) => Faithful (f :*: g) | | (Pointed f, Pointed g) => Pointed (f :*: g) | | (Copointed f, Copointed g) => Copointed (f :+: g) | | (Applicative f, Applicative g) => Applicative (f :*: g) | | (Bifunctor p Hask Hask Hask, Functor f, Functor g) => Functor (Lift p f g) | | (Bifunctor p Hask Hask Hask, ContraFunctor f, ContraFunctor g) => ContraFunctor (Lift p f g) | | (Bifunctor p Hask Hask Hask, ExpFunctor f, ExpFunctor g) => ExpFunctor (Lift p f g) |
|
|
|
| type :*: f g = Lift (,) f g |
|
| runProductF :: (f :*: g) a -> (f a, g a) |
|
| type :+: f g = Lift Either f g |
|
| runCoproductF :: (f :+: g) a -> Either (f a) (g a) |
|
| type Ap p = Lift p Identity |
|
| runAp :: Bifunctor p Hask Hask Hask => Ap p f a -> p a (f a) |
|
| mkAp :: Bifunctor p Hask Hask Hask => p a (f a) -> Ap p f a |
|
| Produced by Haddock version 2.1.0 |