Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- 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 Source #
Using parametricity as an approximation of a natural transformation in two arguments.
class BifunctorFunctor t where Source #
BifunctorFunctor k1 k k k1 (Flip k k1) Source # | |
BifunctorFunctor k k1 k k1 (Sum k k1 p) Source # | |
BifunctorFunctor k k1 k k1 (Product k k1 p) Source # | |
Functor f => BifunctorFunctor k k1 k k1 (Tannen k k1 * f) Source # | |
class BifunctorFunctor t => BifunctorMonad t where Source #
class BifunctorFunctor t => BifunctorComonad t where Source #
biextract, (biextend | biduplicate)
biextract :: t p :-> p Source #
biextend :: (t p :-> q) -> t p :-> t q Source #
biduplicate :: t p :-> t (t p) Source #
BifunctorComonad k k1 (Product k k1 p) Source # | |
Comonad f => BifunctorComonad k k1 (Tannen k k1 * f) Source # | |