 | 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 |