Portability | non-portable (functional-dependencies) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

transform a pair of functors with a bifunctor deriving a new functor. this subsumes functor product and functor coproduct

# Documentation

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

runProductF :: (f :*: g) a -> (f a, g a)Source

runCoproductF :: (f :+: g) a -> Either (f a) (g a)Source