Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
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 Source #
Using parametricity as an approximation of a natural transformation in two arguments.
class BifunctorFunctor t where Source #
Instances
BifunctorFunctor (Flip :: (k3 -> k2 -> Type) -> k2 -> k3 -> Type) Source # | |
BifunctorFunctor (Product p :: (k2 -> k3 -> Type) -> k2 -> k3 -> Type) Source # | |
BifunctorFunctor (Sum p :: (k2 -> k3 -> Type) -> k2 -> k3 -> Type) Source # | |
Functor f => BifunctorFunctor (Tannen f :: (k2 -> k3 -> Type) -> k2 -> k3 -> Type) Source # | |
class BifunctorFunctor t => BifunctorMonad t where Source #
Instances
BifunctorMonad (Sum p :: (k -> k1 -> Type) -> k -> k1 -> Type) Source # | |
Defined in Data.Bifunctor.Sum | |
(Functor f, Monad f) => BifunctorMonad (Tannen f :: (k -> k1 -> Type) -> k -> k1 -> Type) Source # | |
Defined in Data.Bifunctor.Tannen |
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 #
Instances
BifunctorComonad (Product p :: (k -> k1 -> Type) -> k -> k1 -> Type) Source # | |
Defined in Data.Bifunctor.Product biextract :: forall (p0 :: k0 -> k10 -> Type). Product p p0 :-> p0 Source # biextend :: forall (p0 :: k0 -> k10 -> Type) (q :: k0 -> k10 -> Type). (Product p p0 :-> q) -> Product p p0 :-> Product p q Source # biduplicate :: forall (p0 :: k0 -> k10 -> Type). Product p p0 :-> Product p (Product p p0) Source # | |
Comonad f => BifunctorComonad (Tannen f :: (k -> k1 -> Type) -> k -> k1 -> Type) Source # | |
Defined in Data.Bifunctor.Tannen |