Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
class (forall i. Covariant left target (v i), forall i. Covariant right target (Flip v i)) => Bivariant left right target v where Source #
When providing a new instance, you should ensure it satisfies: * Identity: identity <-> identity ≡ identity * Parametricity: (f . g) <-> (h . i) ≡ f <-> h . g <-> i
Instances
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (:+:) Source # | |
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (:*:) Source # | |
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Validation Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Validation (<->) :: (a -> b) -> (c -> d) -> Validation a c -> Validation b d Source # | |
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Conclusion Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Conclusion (<->) :: (a -> b) -> (c -> d) -> Conclusion a c -> Conclusion b d Source # | |
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Constant :: Type -> Type -> Type) Source # | |
Bivariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Tagged :: Type -> Type -> Type) Source # | |