Copyright | (C) 2011-2015 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Data.Semigroup.Bifoldable
Description
Re-exports a subset of the Data.Bifoldable1 module along with some
additional combinators that require Bifoldable1
constraints.
Synopsis
- class Bifoldable t => Bifoldable1 (t :: Type -> Type -> Type) 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 :: Type -> Type -> Type) where Source #
Minimal complete definition
Methods
bifold1 :: Semigroup m => t m m -> m Source #
bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> t a b -> m Source #
Instances
Bifoldable1 Either | |
Bifoldable1 (,) | |
Defined in Data.Bifoldable1 | |
Bifoldable1 Arg | |
Bifoldable1 ((,,) x) | |
Defined in Data.Bifoldable1 | |
Bifoldable1 (Const :: Type -> Type -> Type) | |
Bifoldable1 (Tagged :: Type -> Type -> Type) | |
Bifoldable1 ((,,,) x y) | |
Defined in Data.Bifoldable1 | |
Bifoldable1 ((,,,,) x y z) | |
Defined in Data.Bifoldable1 | |
Bifoldable1 p => Bifoldable1 (WrappedBifunctor p) | |
Defined in Data.Bifunctor.Wrapped Methods bifold1 :: Semigroup m => WrappedBifunctor p m m -> m Source # bifoldMap1 :: Semigroup m => (a -> m) -> (b -> m) -> WrappedBifunctor p a b -> m Source # | |
Foldable1 g => Bifoldable1 (Joker g :: Type -> Type -> Type) | |
Bifoldable1 p => Bifoldable1 (Flip p) | |
Foldable1 f => Bifoldable1 (Clown f :: Type -> Type -> Type) | |
(Bifoldable1 f, Bifoldable1 g) => Bifoldable1 (Product f g) | |
(Foldable1 f, Bifoldable1 p) => Bifoldable1 (Tannen f p) | |
(Bifoldable1 p, Foldable1 f, Foldable1 g) => Bifoldable1 (Biff p f g) | |
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 -> m Source #
Usable default for foldMap, but only if you define bifoldMap1 yourself