Safe Haskell | Safe-Inferred |
---|---|

Language | Haskell2010 |

# Documentation

class Bivariant (v :: * -> * -> *) where Source #

When providing a new instance, you should ensure it satisfies the two laws: * 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 # | |