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 HaskellTrustworthy
LanguageHaskell98

Data.Semigroup.Foldable.Class

Description

 

Documentation

class Foldable t => NonEmptyFoldable t where Source #

Methods

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

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

toNonEmpty :: t a -> NonEmpty a Source #

Instances
NonEmptyFoldable Par1 Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

toNonEmpty :: Par1 a -> NonEmpty a Source #

NonEmptyFoldable Complex Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

toNonEmpty :: Complex a -> NonEmpty a Source #

NonEmptyFoldable Min Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Min m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Min a -> m Source #

toNonEmpty :: Min a -> NonEmpty a Source #

NonEmptyFoldable Max Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Max m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Max a -> m Source #

toNonEmpty :: Max a -> NonEmpty a Source #

NonEmptyFoldable First Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => First m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> First a -> m Source #

toNonEmpty :: First a -> NonEmpty a Source #

NonEmptyFoldable Last Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Last m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Last a -> m Source #

toNonEmpty :: Last a -> NonEmpty a Source #

NonEmptyFoldable Identity Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

toNonEmpty :: Identity a -> NonEmpty a Source #

NonEmptyFoldable Dual Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Dual m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Dual a -> m Source #

toNonEmpty :: Dual a -> NonEmpty a Source #

NonEmptyFoldable Sum Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Sum m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Sum a -> m Source #

toNonEmpty :: Sum a -> NonEmpty a Source #

NonEmptyFoldable Product Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Product m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Product a -> m Source #

toNonEmpty :: Product a -> NonEmpty a Source #

NonEmptyFoldable NonEmpty Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

toNonEmpty :: NonEmpty a -> NonEmpty a Source #

NonEmptyFoldable Tree Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

toNonEmpty :: Tree a -> NonEmpty a Source #

NonEmptyFoldable (V1 :: * -> *) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => V1 m -> m Source #

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

toNonEmpty :: V1 a -> NonEmpty a Source #

NonEmptyFoldable ((,) a) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

NonEmptyFoldable f => NonEmptyFoldable (Lift f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

NonEmptyFoldable f => NonEmptyFoldable (Rec1 f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Rec1 f m -> m Source #

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

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

NonEmptyFoldable f => NonEmptyFoldable (Alt f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Alt f m -> m Source #

foldMapNE :: Semigroup m => (a -> m) -> Alt f a -> m Source #

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

NonEmptyFoldable f => NonEmptyFoldable (Reverse f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Reverse f m -> m Source #

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

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

NonEmptyFoldable m => NonEmptyFoldable (IdentityT m) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m0 => IdentityT m m0 -> m0 Source #

foldMapNE :: Semigroup m0 => (a -> m0) -> IdentityT m a -> m0 Source #

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

NonEmptyFoldable f => NonEmptyFoldable (Backwards f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Backwards f m -> m Source #

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

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

NonEmptyFoldable (Tagged a) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Tagged a m -> m Source #

foldMapNE :: Semigroup m => (a0 -> m) -> Tagged a a0 -> m Source #

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

NonEmptyBifoldable p => NonEmptyFoldable (Join p) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Join p m -> m Source #

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

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

(NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyFoldable (f :+: g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

(NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyFoldable (f :*: g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

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

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

(NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyFoldable (Sum f g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Sum f g m -> m Source #

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

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

NonEmptyFoldable f => NonEmptyFoldable (M1 i c f) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

(NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyFoldable (f :.: g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

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

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

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

(NonEmptyFoldable f, NonEmptyFoldable g) => NonEmptyFoldable (Compose f g) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Compose f g m -> m Source #

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

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

NonEmptyFoldable g => NonEmptyFoldable (Joker g a) Source # 
Instance details

Defined in Data.Semigroup.Foldable.Class

Methods

foldNE :: Semigroup m => Joker g a m -> m Source #

foldMapNE :: Semigroup m => (a0 -> m) -> Joker g a a0 -> m Source #

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

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 #