semigroupoids-5.3.3: Semigroupoids: Category sans id

Copyright(C) 2011-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Data.Semigroup.Bifoldable

Description

 
Synopsis

Documentation

class Bifoldable t => NonEmptyBifoldable t where Source #

Methods

bifoldNE :: Semigroup m => t m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> t a b -> m Source #

Instances
NonEmptyBifoldable Either Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Either m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Either a b -> m Source #

NonEmptyBifoldable (,) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => (m, m) -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> (a, b) -> m Source #

NonEmptyBifoldable Arg Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Arg m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Arg a b -> m Source #

NonEmptyBifoldable ((,,) x) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => (x, m, m) -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> (x, a, b) -> m Source #

NonEmptyBifoldable (Const :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Const m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Const a b -> m Source #

NonEmptyBifoldable (Tagged :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Tagged m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Tagged a b -> m Source #

NonEmptyBifoldable ((,,,) x y) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => (x, y, m, m) -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> (x, y, a, b) -> m Source #

NonEmptyBifoldable ((,,,,) x y z) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => (x, y, z, m, m) -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> (x, y, z, a, b) -> m Source #

NonEmptyFoldable f => NonEmptyBifoldable (Clown f :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Clown f m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Clown f a b -> m Source #

NonEmptyBifoldable p => NonEmptyBifoldable (Flip p) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Flip p m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Flip p a b -> m Source #

NonEmptyFoldable g => NonEmptyBifoldable (Joker g :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Joker g m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Joker g a b -> m Source #

NonEmptyBifoldable p => NonEmptyBifoldable (WrappedBifunctor p) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => WrappedBifunctor p m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> WrappedBifunctor p a b -> m Source #

(NonEmptyBifoldable f, NonEmptyBifoldable g) => NonEmptyBifoldable (Product f g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Product f g m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Product f g a b -> m Source #

(NonEmptyFoldable f, NonEmptyBifoldable p) => NonEmptyBifoldable (Tannen f p) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Tannen f p m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Tannen f p a b -> m Source #

(NonEmptyBifoldable p, NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyBifoldable (Biff p f g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

bifoldNE :: Semigroup m => Biff p f g m m -> m Source #

bifoldMapNE :: Semigroup m => (a -> m) -> (b -> m) -> Biff p f g a b -> m Source #

bitraverseNE_ :: (NonEmptyBifoldable t, Semiapplicative f) => (a -> f b) -> (c -> f d) -> t a c -> f () Source #

bifor1_ :: (NonEmptyBifoldable t, Semiapplicative f) => t a c -> (a -> f b) -> (c -> f d) -> f () Source #

bisequenceA1_ :: (NonEmptyBifoldable t, Semiapplicative f) => t (f a) (f b) -> f () Source #

bifoldMapDefaultNE :: (NonEmptyBifoldable t, Monoid m) => (a -> m) -> (b -> m) -> t a b -> m Source #

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