Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Synopsis
- 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 #
Instances
BifunctorFunctor (Flip :: (k2 -> k1 -> Type) -> k1 -> k2 -> Type) # | |
BifunctorFunctor (Product p :: (k1 -> k2 -> Type) -> k1 -> k2 -> Type) # | |
BifunctorFunctor (Sum p :: (k1 -> k2 -> Type) -> k1 -> k2 -> Type) # | |
Functor f => BifunctorFunctor (Tannen f :: (k1 -> k2 -> Type) -> k1 -> k2 -> Type) # | |
class BifunctorFunctor t => BifunctorMonad t where #
biliftM :: BifunctorMonad t => (p :-> q) -> t p :-> t q #
class BifunctorFunctor t => BifunctorComonad t where #
biextract, (biextend | biduplicate)
biliftW :: BifunctorComonad t => (p :-> q) -> t p :-> t q #