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