semigroupoids-5.2.2: 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.Foldable.Class

Description

 

Documentation

class Foldable t => Foldable1 t where Source #

Methods

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

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

toNonEmpty :: t a -> NonEmpty a Source #

Instances

Foldable1 Par1 Source # 

Methods

fold1 :: Semigroup m => Par1 m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Par1 a -> m Source #

toNonEmpty :: Par1 a -> NonEmpty a Source #

Foldable1 Complex Source # 

Methods

fold1 :: Semigroup m => Complex m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Complex a -> m Source #

toNonEmpty :: Complex a -> NonEmpty a Source #

Foldable1 NonEmpty Source # 

Methods

fold1 :: Semigroup m => NonEmpty m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> NonEmpty a -> m Source #

toNonEmpty :: NonEmpty a -> NonEmpty a Source #

Foldable1 Identity Source # 

Methods

fold1 :: Semigroup m => Identity m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Identity a -> m Source #

toNonEmpty :: Identity a -> NonEmpty a Source #

Foldable1 Tree Source # 

Methods

fold1 :: Semigroup m => Tree m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Tree a -> m Source #

toNonEmpty :: Tree a -> NonEmpty a Source #

Foldable1 (V1 *) Source # 

Methods

fold1 :: Semigroup m => V1 * m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> V1 * a -> m Source #

toNonEmpty :: V1 * a -> NonEmpty a Source #

Foldable1 ((,) a) Source # 

Methods

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

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

toNonEmpty :: (a, a) -> NonEmpty a Source #

Foldable1 f => Foldable1 (Lift f) Source # 

Methods

fold1 :: Semigroup m => Lift f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Lift f a -> m Source #

toNonEmpty :: Lift f a -> NonEmpty a Source #

Foldable1 f => Foldable1 (Rec1 * f) Source # 

Methods

fold1 :: Semigroup m => Rec1 * f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Rec1 * f a -> m Source #

toNonEmpty :: Rec1 * f a -> NonEmpty a Source #

Bifoldable1 p => Foldable1 (Join * p) Source # 

Methods

fold1 :: Semigroup m => Join * p m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Join * p a -> m Source #

toNonEmpty :: Join * p a -> NonEmpty a Source #

Foldable1 m => Foldable1 (IdentityT * m) Source # 

Methods

fold1 :: Semigroup m => IdentityT * m m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> IdentityT * m a -> m Source #

toNonEmpty :: IdentityT * m a -> NonEmpty a Source #

Foldable1 (Tagged * a) Source # 

Methods

fold1 :: Semigroup m => Tagged * a m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Tagged * a a -> m Source #

toNonEmpty :: Tagged * a a -> NonEmpty a Source #

Foldable1 f => Foldable1 (Reverse * f) Source # 

Methods

fold1 :: Semigroup m => Reverse * f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Reverse * f a -> m Source #

toNonEmpty :: Reverse * f a -> NonEmpty a Source #

Foldable1 f => Foldable1 (Backwards * f) Source # 

Methods

fold1 :: Semigroup m => Backwards * f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Backwards * f a -> m Source #

toNonEmpty :: Backwards * f a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 ((:+:) * f g) Source # 

Methods

fold1 :: Semigroup m => (* :+: f) g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> (* :+: f) g a -> m Source #

toNonEmpty :: (* :+: f) g a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 ((:*:) * f g) Source # 

Methods

fold1 :: Semigroup m => (* :*: f) g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> (* :*: f) g a -> m Source #

toNonEmpty :: (* :*: f) g a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 (Product * f g) Source # 

Methods

fold1 :: Semigroup m => Product * f g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Product * f g a -> m Source #

toNonEmpty :: Product * f g a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 (Sum * f g) Source # 

Methods

fold1 :: Semigroup m => Sum * f g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Sum * f g a -> m Source #

toNonEmpty :: Sum * f g a -> NonEmpty a Source #

Foldable1 f => Foldable1 (M1 * i c f) Source # 

Methods

fold1 :: Semigroup m => M1 * i c f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> M1 * i c f a -> m Source #

toNonEmpty :: M1 * i c f a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 ((:.:) * * f g) Source # 

Methods

fold1 :: Semigroup m => (* :.: *) f g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> (* :.: *) f g a -> m Source #

toNonEmpty :: (* :.: *) f g a -> NonEmpty a Source #

(Foldable1 f, Foldable1 g) => Foldable1 (Compose * * f g) Source # 

Methods

fold1 :: Semigroup m => Compose * * f g m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Compose * * f g a -> m Source #

toNonEmpty :: Compose * * f g a -> NonEmpty a Source #

Foldable1 g => Foldable1 (Joker * * g a) Source # 

Methods

fold1 :: Semigroup m => Joker * * g a m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Joker * * g a a -> m Source #

toNonEmpty :: Joker * * g a a -> NonEmpty a Source #

class Bifoldable t => Bifoldable1 t where Source #

Methods

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

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

Instances

Bifoldable1 Either Source # 

Methods

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

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

Bifoldable1 (,) Source # 

Methods

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

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

Bifoldable1 Arg Source # 

Methods

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

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

Bifoldable1 ((,,) x) Source # 

Methods

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

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

Bifoldable1 (Const *) Source # 

Methods

bifold1 :: Semigroup m => Const * m m -> m Source #

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

Bifoldable1 (Tagged *) Source # 

Methods

bifold1 :: Semigroup m => Tagged * m m -> m Source #

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

Bifoldable1 ((,,,) x y) Source # 

Methods

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

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

Bifoldable1 ((,,,,) x y z) Source # 

Methods

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

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

Bifoldable1 p => Bifoldable1 (WrappedBifunctor * * p) Source # 

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) Source # 

Methods

bifold1 :: Semigroup m => Joker * * g m m -> m Source #

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

Bifoldable1 p => Bifoldable1 (Flip * * p) Source # 

Methods

bifold1 :: Semigroup m => Flip * * p m m -> m Source #

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

Foldable1 f => Bifoldable1 (Clown * * f) Source # 

Methods

bifold1 :: Semigroup m => Clown * * f m m -> m Source #

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

(Bifoldable1 f, Bifoldable1 g) => Bifoldable1 (Product * * f g) Source # 

Methods

bifold1 :: Semigroup m => Product * * f g m m -> m Source #

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

(Foldable1 f, Bifoldable1 p) => Bifoldable1 (Tannen * * * f p) Source # 

Methods

bifold1 :: Semigroup m => Tannen * * * f p m m -> m Source #

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

(Bifoldable1 p, Foldable1 f, Foldable1 g) => Bifoldable1 (Biff * * * * p f g) Source # 

Methods

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

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