bifunctors-4.1.0.1: Bifunctors

Portability | portable
Stability | provisional
Maintainer | Edward Kmett <ekmett@gmail.com>
Safe Haskell | Safe-Inferred

Data.Bitraversable

Description

# Documentation

class (Bifunctor t, Bifoldable t) => Bitraversable t where Source

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> t a b -> f (t c d)Source

bisequenceA :: Applicative f => t (f a) (f b) -> f (t a b)Source

bimapM :: Monad m => (a -> m c) -> (b -> m d) -> t a b -> m (t c d)Source

bisequence :: Monad m => t (m a) (m b) -> m (t a b)Source

Instances

Bitraversable Either |
Bitraversable (,) |
Bitraversable Const |
Bitraversable ((,,) x) |
Bitraversable (Tagged *) |
Traversable f => Bitraversable (Clown f) |
Bitraversable p => Bitraversable (Flip p) |
Traversable g => Bitraversable (Joker g) |
Bitraversable p => Bitraversable (WrappedBifunctor p) |
Bitraversable ((,,,) x y) |
(Bitraversable f, Bitraversable g) => Bitraversable (Product f g) |
Bitraversable ((,,,,) x y z) |

bifor :: (Bitraversable t, Applicative f) => t a b -> (a -> f c) -> (b -> f d) -> f (t c d)Source

biforM :: (Bitraversable t, Monad m) => t a b -> (a -> m c) -> (b -> m d) -> m (t c d)Source

bimapAccumL :: Bitraversable t => (a -> b -> (a, c)) -> (a -> d -> (a, e)) -> a -> t b d -> (a, t c e)Source

bimapAccumR :: Bitraversable t => (a -> b -> (a, c)) -> (a -> d -> (a, e)) -> a -> t b d -> (a, t c e)Source

bimapDefault :: Bitraversable t => (a -> b) -> (c -> d) -> t a c -> t b dSource

bifoldMapDefault :: (Bitraversable t, Monoid m) => (a -> m) -> (b -> m) -> t a b -> mSource