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 | Trustworthy |
Language | Haskell2010 |
Data.Semigroup.Foldable.Class
Description
Deprecated: This module re-exports a limited subset of the class methods in the Foldable1 and Bifoldable1 classes, which are now located in the Data.Foldable1 and Data.Bifoldable1 modules in base-4.18. (On older versions of base, these can be found in the foldable1-classes-compat library.) Import from these modules instead.
Synopsis
- class Foldable t => Foldable1 (t :: Type -> Type) where
- 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
Documentation
class Foldable t => Foldable1 (t :: Type -> Type) where Source #
Non-empty data structures that can be folded.
Methods
fold1 :: Semigroup m => t m -> m Source #
Combine the elements of a structure using a semigroup.
foldMap1 :: Semigroup m => (a -> m) -> t a -> m Source #
Map each element of the structure to a semigroup, and combine the results.
>>>
foldMap1 Sum (1 :| [2, 3, 4])
Sum {getSum = 10}
toNonEmpty :: t a -> NonEmpty a Source #
List of elements of a structure, from left to right.
>>>
toNonEmpty (Identity 2)
2 :| []
Instances
Foldable1 Par1 | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Par1 m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Par1 a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Par1 a -> m Source # toNonEmpty :: Par1 a -> NonEmpty a Source # maximum :: Ord a => Par1 a -> a Source # minimum :: Ord a => Par1 a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Par1 a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Par1 a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Par1 a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Par1 a -> b Source # | |
Foldable1 Complex | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Complex m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Complex a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Complex a -> m Source # toNonEmpty :: Complex a -> NonEmpty a Source # maximum :: Ord a => Complex a -> a Source # minimum :: Ord a => Complex a -> a Source # head :: Complex a -> a Source # last :: Complex a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Complex a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Complex a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Complex a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Complex a -> b Source # | |
Foldable1 Min | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Min m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Min a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Min a -> m Source # toNonEmpty :: Min a -> NonEmpty a Source # maximum :: Ord a => Min a -> a Source # minimum :: Ord a => Min a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Min a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Min a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Min a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Min a -> b Source # | |
Foldable1 Max | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Max m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Max a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Max a -> m Source # toNonEmpty :: Max a -> NonEmpty a Source # maximum :: Ord a => Max a -> a Source # minimum :: Ord a => Max a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Max a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Max a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Max a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Max a -> b Source # | |
Foldable1 First | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => First m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> First a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> First a -> m Source # toNonEmpty :: First a -> NonEmpty a Source # maximum :: Ord a => First a -> a Source # minimum :: Ord a => First a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> First a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> First a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> First a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> First a -> b Source # | |
Foldable1 Last | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Last m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Last a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Last a -> m Source # toNonEmpty :: Last a -> NonEmpty a Source # maximum :: Ord a => Last a -> a Source # minimum :: Ord a => Last a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Last a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Last a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Last a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Last a -> b Source # | |
Foldable1 Identity | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Identity m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Identity a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Identity a -> m Source # toNonEmpty :: Identity a -> NonEmpty a Source # maximum :: Ord a => Identity a -> a Source # minimum :: Ord a => Identity a -> a Source # head :: Identity a -> a Source # last :: Identity a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Identity a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Identity a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Identity a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Identity a -> b Source # | |
Foldable1 Dual | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Dual m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Dual a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Dual a -> m Source # toNonEmpty :: Dual a -> NonEmpty a Source # maximum :: Ord a => Dual a -> a Source # minimum :: Ord a => Dual a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Dual a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Dual a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Dual a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Dual a -> b Source # | |
Foldable1 Sum | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Sum m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Sum a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Sum a -> m Source # toNonEmpty :: Sum a -> NonEmpty a Source # maximum :: Ord a => Sum a -> a Source # minimum :: Ord a => Sum a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum a -> b Source # | |
Foldable1 Product | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Product m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Product a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Product a -> m Source # toNonEmpty :: Product a -> NonEmpty a Source # maximum :: Ord a => Product a -> a Source # minimum :: Ord a => Product a -> a Source # head :: Product a -> a Source # last :: Product a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product a -> b Source # | |
Foldable1 Down | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Down m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Down a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Down a -> m Source # toNonEmpty :: Down a -> NonEmpty a Source # maximum :: Ord a => Down a -> a Source # minimum :: Ord a => Down a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Down a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Down a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Down a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Down a -> b Source # | |
Foldable1 NonEmpty | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => NonEmpty m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> NonEmpty a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> NonEmpty a -> m Source # toNonEmpty :: NonEmpty a -> NonEmpty a Source # maximum :: Ord a => NonEmpty a -> a Source # minimum :: Ord a => NonEmpty a -> a Source # head :: NonEmpty a -> a Source # last :: NonEmpty a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> NonEmpty a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> NonEmpty a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> NonEmpty a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> NonEmpty a -> b Source # | |
Foldable1 Tree | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Tree m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Tree a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Tree a -> m Source # toNonEmpty :: Tree a -> NonEmpty a Source # maximum :: Ord a => Tree a -> a Source # minimum :: Ord a => Tree a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Tree a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Tree a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Tree a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Tree a -> b Source # | |
Foldable1 (V1 :: Type -> Type) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => V1 m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> V1 a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> V1 a -> m Source # toNonEmpty :: V1 a -> NonEmpty a Source # maximum :: Ord a => V1 a -> a Source # minimum :: Ord a => V1 a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> V1 a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> V1 a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> V1 a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> V1 a -> b Source # | |
Foldable1 ((,) a) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => (a, m) -> m Source # foldMap1 :: Semigroup m => (a0 -> m) -> (a, a0) -> m Source # foldMap1' :: Semigroup m => (a0 -> m) -> (a, a0) -> m Source # toNonEmpty :: (a, a0) -> NonEmpty a0 Source # maximum :: Ord a0 => (a, a0) -> a0 Source # minimum :: Ord a0 => (a, a0) -> a0 Source # head :: (a, a0) -> a0 Source # last :: (a, a0) -> a0 Source # foldrMap1 :: (a0 -> b) -> (a0 -> b -> b) -> (a, a0) -> b Source # foldlMap1' :: (a0 -> b) -> (b -> a0 -> b) -> (a, a0) -> b Source # foldlMap1 :: (a0 -> b) -> (b -> a0 -> b) -> (a, a0) -> b Source # foldrMap1' :: (a0 -> b) -> (a0 -> b -> b) -> (a, a0) -> b Source # | |
Foldable1 f => Foldable1 (Lift f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Lift f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Lift f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Lift f a -> m Source # toNonEmpty :: Lift f a -> NonEmpty a Source # maximum :: Ord a => Lift f a -> a Source # minimum :: Ord a => Lift f a -> a Source # head :: Lift f a -> a Source # last :: Lift f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Lift f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Lift f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Lift f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Lift f a -> b Source # | |
Foldable1 f => Foldable1 (Rec1 f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Rec1 f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Rec1 f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Rec1 f a -> m Source # toNonEmpty :: Rec1 f a -> NonEmpty a Source # maximum :: Ord a => Rec1 f a -> a Source # minimum :: Ord a => Rec1 f a -> a Source # head :: Rec1 f a -> a Source # last :: Rec1 f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Rec1 f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Rec1 f a -> b Source # | |
Foldable1 f => Foldable1 (Ap f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Ap f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Ap f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Ap f a -> m Source # toNonEmpty :: Ap f a -> NonEmpty a Source # maximum :: Ord a => Ap f a -> a Source # minimum :: Ord a => Ap f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Source # | |
Foldable1 f => Foldable1 (Alt f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Alt f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Alt f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Alt f a -> m Source # toNonEmpty :: Alt f a -> NonEmpty a Source # maximum :: Ord a => Alt f a -> a Source # minimum :: Ord a => Alt f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Alt f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Alt f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Alt f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Alt f a -> b Source # | |
Bifoldable1 p => Foldable1 (Join p) | |
Defined in Data.Bifunctor.Join Methods fold1 :: Semigroup m => Join p m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Join p a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Join p a -> m Source # toNonEmpty :: Join p a -> NonEmpty a Source # maximum :: Ord a => Join p a -> a Source # minimum :: Ord a => Join p a -> a Source # head :: Join p a -> a Source # last :: Join p a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Join p a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Join p a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Join p a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Join p a -> b Source # | |
Foldable1 f => Foldable1 (IdentityT f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => IdentityT f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> IdentityT f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> IdentityT f a -> m Source # toNonEmpty :: IdentityT f a -> NonEmpty a Source # maximum :: Ord a => IdentityT f a -> a Source # minimum :: Ord a => IdentityT f a -> a Source # head :: IdentityT f a -> a Source # last :: IdentityT f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> IdentityT f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> IdentityT f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> IdentityT f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> IdentityT f a -> b Source # | |
Foldable1 (Tagged b) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Tagged b m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Tagged b a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Tagged b a -> m Source # toNonEmpty :: Tagged b a -> NonEmpty a Source # maximum :: Ord a => Tagged b a -> a Source # minimum :: Ord a => Tagged b a -> a Source # head :: Tagged b a -> a Source # last :: Tagged b a -> a Source # foldrMap1 :: (a -> b0) -> (a -> b0 -> b0) -> Tagged b a -> b0 Source # foldlMap1' :: (a -> b0) -> (b0 -> a -> b0) -> Tagged b a -> b0 Source # foldlMap1 :: (a -> b0) -> (b0 -> a -> b0) -> Tagged b a -> b0 Source # foldrMap1' :: (a -> b0) -> (a -> b0 -> b0) -> Tagged b a -> b0 Source # | |
Foldable1 f => Foldable1 (Reverse f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Reverse f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Reverse f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Reverse f a -> m Source # toNonEmpty :: Reverse f a -> NonEmpty a Source # maximum :: Ord a => Reverse f a -> a Source # minimum :: Ord a => Reverse f a -> a Source # head :: Reverse f a -> a Source # last :: Reverse f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Reverse f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Reverse f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Reverse f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Reverse f a -> b Source # | |
Foldable1 f => Foldable1 (Backwards f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Backwards f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Backwards f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Backwards f a -> m Source # toNonEmpty :: Backwards f a -> NonEmpty a Source # maximum :: Ord a => Backwards f a -> a Source # minimum :: Ord a => Backwards f a -> a Source # head :: Backwards f a -> a Source # last :: Backwards f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Backwards f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Backwards f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Backwards f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Backwards f a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (f :+: g) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => (f :+: g) m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> (f :+: g) a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> (f :+: g) a -> m Source # toNonEmpty :: (f :+: g) a -> NonEmpty a Source # maximum :: Ord a => (f :+: g) a -> a Source # minimum :: Ord a => (f :+: g) a -> a Source # head :: (f :+: g) a -> a Source # last :: (f :+: g) a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :+: g) a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :+: g) a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (f :*: g) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => (f :*: g) m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> (f :*: g) a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> (f :*: g) a -> m Source # toNonEmpty :: (f :*: g) a -> NonEmpty a Source # maximum :: Ord a => (f :*: g) a -> a Source # minimum :: Ord a => (f :*: g) a -> a Source # head :: (f :*: g) a -> a Source # last :: (f :*: g) a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :*: g) a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :*: g) a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (Product f g) | It would be enough for either half of a product to be |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Product f g m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Product f g a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Product f g a -> m Source # toNonEmpty :: Product f g a -> NonEmpty a Source # maximum :: Ord a => Product f g a -> a Source # minimum :: Ord a => Product f g a -> a Source # head :: Product f g a -> a Source # last :: Product f g a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product f g a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product f g a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (Sum f g) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Sum f g m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Sum f g a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Sum f g a -> m Source # toNonEmpty :: Sum f g a -> NonEmpty a Source # maximum :: Ord a => Sum f g a -> a Source # minimum :: Ord a => Sum f g a -> a Source # head :: Sum f g a -> a Source # last :: Sum f g a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum f g a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum f g a -> b Source # | |
Foldable1 f => Foldable1 (M1 i c f) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => M1 i c f m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> M1 i c f a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> M1 i c f a -> m Source # toNonEmpty :: M1 i c f a -> NonEmpty a Source # maximum :: Ord a => M1 i c f a -> a Source # minimum :: Ord a => M1 i c f a -> a Source # head :: M1 i c f a -> a Source # last :: M1 i c f a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> M1 i c f a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> M1 i c f a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (f :.: g) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => (f :.: g) m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> (f :.: g) a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> (f :.: g) a -> m Source # toNonEmpty :: (f :.: g) a -> NonEmpty a Source # maximum :: Ord a => (f :.: g) a -> a Source # minimum :: Ord a => (f :.: g) a -> a Source # head :: (f :.: g) a -> a Source # last :: (f :.: g) a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> (f :.: g) a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> (f :.: g) a -> b Source # | |
(Foldable1 f, Foldable1 g) => Foldable1 (Compose f g) | |
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Compose f g m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> Compose f g a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> Compose f g a -> m Source # toNonEmpty :: Compose f g a -> NonEmpty a Source # maximum :: Ord a => Compose f g a -> a Source # minimum :: Ord a => Compose f g a -> a Source # head :: Compose f g a -> a Source # last :: Compose f g a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Compose f g a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Compose f g a -> b Source # | |
Foldable1 g => Foldable1 (Joker g a) | |
Defined in Data.Bifunctor.Joker Methods fold1 :: Semigroup m => Joker g a m -> m Source # foldMap1 :: Semigroup m => (a0 -> m) -> Joker g a a0 -> m Source # foldMap1' :: Semigroup m => (a0 -> m) -> Joker g a a0 -> m Source # toNonEmpty :: Joker g a a0 -> NonEmpty a0 Source # maximum :: Ord a0 => Joker g a a0 -> a0 Source # minimum :: Ord a0 => Joker g a a0 -> a0 Source # head :: Joker g a a0 -> a0 Source # last :: Joker g a a0 -> a0 Source # foldrMap1 :: (a0 -> b) -> (a0 -> b -> b) -> Joker g a a0 -> b Source # foldlMap1' :: (a0 -> b) -> (b -> a0 -> b) -> Joker g a a0 -> b Source # foldlMap1 :: (a0 -> b) -> (b -> a0 -> b) -> Joker g a a0 -> b Source # foldrMap1' :: (a0 -> b) -> (a0 -> b -> b) -> Joker g a a0 -> b Source # |
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) | |