Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Pandora.Pattern.Functor.Bivariant
Documentation
class (forall i. Covariant (v i) left target, forall i. Covariant (Flip v i) right target) => Bivariant v left right target 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 Validation ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Validation Methods (<->) :: (a -> b) -> (c -> d) -> Validation a c -> Validation b d Source # | |
Bivariant Conclusion ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Conclusion Methods (<->) :: (a -> b) -> (c -> d) -> Conclusion a c -> Conclusion b d Source # | |
Bivariant (Constant :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
Bivariant (Tagged :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |