Copyright | (C) 2014 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | Rank2Types |
Safe Haskell | Safe |
Language | Haskell2010 |
- newtype Tambara p a b = Tambara {
- runTambara :: forall c. p (a, c) (b, c)
- tambara :: Strong p => (p :-> q) -> p :-> Tambara q
- untambara :: Profunctor q => (p :-> Tambara q) -> p :-> q
- data Pastro p a b where
- newtype Cotambara p a b = Cotambara {
- runCotambara :: forall c. p (Either a c) (Either b c)
- cotambara :: Choice p => (p :-> q) -> p :-> Cotambara q
- uncotambara :: Profunctor q => (p :-> Cotambara q) -> p :-> q
- data Copastro p a b where
Documentation
Tambara | |
|
ProfunctorComonad Tambara Source | |
ProfunctorFunctor Tambara Source | |
ProfunctorAdjunction Pastro Tambara Source | |
Category * p => Category * (Tambara p) Source | |
Arrow p => Arrow (Tambara p) Source | |
ArrowZero p => ArrowZero (Tambara p) Source | |
ArrowPlus p => ArrowPlus (Tambara p) Source | |
ArrowChoice p => ArrowChoice (Tambara p) Source | |
ArrowApply p => ArrowApply (Tambara p) Source | |
ArrowLoop p => ArrowLoop (Tambara p) Source | |
Profunctor p => Profunctor (Tambara p) Source | |
Choice p => Choice (Tambara p) Source | |
Profunctor p => Strong (Tambara p) Source | |
Profunctor p => Functor (Tambara p a) Source | |
(Profunctor p, Arrow p) => Applicative (Tambara p a) Source | |
(Profunctor p, ArrowPlus p) => Alternative (Tambara p a) Source | |
(Profunctor p, ArrowPlus p) => Monoid (Tambara p a b) Source |
data Pastro p a b where Source
Pastro -| Tambara
Pastro p ~ exists z. Costar ((,)z)Procompose
pProcompose
Star ((,)z)
newtype Cotambara p a b Source
Cotambara is freely adjoins respect for cocartesian structure to a profunctor
Note: this is not dual to Tambara
. It is Tambara
with respect to a different tensor.
Cotambara | |
|
ProfunctorComonad Cotambara Source | |
ProfunctorFunctor Cotambara Source | |
ProfunctorAdjunction Copastro Cotambara Source | |
Category * p => Category * (Cotambara p) Source | |
Profunctor p => Profunctor (Cotambara p) Source | |
Profunctor p => Choice (Cotambara p) Source | |
Profunctor p => Functor (Cotambara p a) Source |
uncotambara :: Profunctor q => (p :-> Cotambara q) -> p :-> q Source