| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
Data.Bifunctor.Functor
- type (:->) p q = forall a b. p a b -> q a b
- class BifunctorFunctor t where
- class BifunctorFunctor t => BifunctorMonad t where
- biliftM :: BifunctorMonad t => (p :-> q) -> t p :-> t q
- class BifunctorFunctor t => BifunctorComonad t where
- biliftW :: BifunctorComonad t => (p :-> q) -> t p :-> t q
Documentation
type (:->) p q = forall a b. p a b -> q a b infixr 0 #
Using parametricity as an approximation of a natural transformation in two arguments.
class BifunctorFunctor t where #
Minimal complete definition
Instances
| BifunctorFunctor k2 k1 k1 k2 (Flip k1 k2) # | |
| BifunctorFunctor k1 k2 k1 k2 (Product k1 k2 p) # | |
| BifunctorFunctor k1 k2 k1 k2 (Sum k1 k2 p) # | |
| Functor f => BifunctorFunctor k1 k2 k1 k2 (Tannen * k1 k2 f) # | |
class BifunctorFunctor t => BifunctorMonad t where #
Instances
| BifunctorMonad k1 k2 (Sum k1 k2 p) # | |
| (Functor f, Monad f) => BifunctorMonad k1 k2 (Tannen * k1 k2 f) # | |
biliftM :: BifunctorMonad t => (p :-> q) -> t p :-> t q #
class BifunctorFunctor t => BifunctorComonad t where #
Minimal complete definition
biextract, (biextend | biduplicate)
Instances
| BifunctorComonad k1 k2 (Product k1 k2 p) # | |
| Comonad f => BifunctorComonad k1 k2 (Tannen * k1 k2 f) # | |
biliftW :: BifunctorComonad t => (p :-> q) -> t p :-> t q #