bifunctors-4.1.0.1: Bifunctors

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

Data.Semigroup.Bifoldable

Description

Synopsis

- class Bifoldable t => Bifoldable1 t where
  - bifold1 :: Semigroup m => t m m -> m
  - bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> t a b -> m
- bitraverse1_ :: (Bifoldable1 t, Apply f) => (a -> f b) -> (c -> f d) -> t a c -> f ()
- bifor1_ :: (Bifoldable1 t, Apply f) => t a c -> (a -> f b) -> (c -> f d) -> f ()
- bisequenceA1_ :: (Bifoldable1 t, Apply f) => t (f a) (f b) -> f ()
- bifoldMapDefault1 :: (Bifoldable1 t, Monoid m) => (a -> m) -> (b -> m) -> t a b -> m

# Documentation

class Bifoldable t => Bifoldable1 t where Source

Methods

bifold1 :: Semigroup m => t m m -> mSource

bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> t a b -> mSource

Instances

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

bitraverse1_ :: (Bifoldable1 t, Apply f) => (a -> f b) -> (c -> f d) -> t a c -> f ()Source

bifor1_ :: (Bifoldable1 t, Apply f) => t a c -> (a -> f b) -> (c -> f d) -> f ()Source

bisequenceA1_ :: (Bifoldable1 t, Apply f) => t (f a) (f b) -> f ()Source

bifoldMapDefault1 :: (Bifoldable1 t, Monoid m) => (a -> m) -> (b -> m) -> t a b -> mSource

Usable default for foldMap, but only if you define bifoldMap1 yourself