Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Generics.Deriving.Foldable
Synopsis
- class GFoldable t where
- gfoldMap :: Monoid m => (a -> m) -> t a -> m
- gfold :: Monoid m => t m -> m
- gfoldr :: (a -> b -> b) -> b -> t a -> b
- gfoldr' :: (a -> b -> b) -> b -> t a -> b
- gfoldl :: (a -> b -> a) -> a -> t b -> a
- gfoldl' :: (a -> b -> a) -> a -> t b -> a
- gfoldr1 :: (a -> a -> a) -> t a -> a
- gfoldl1 :: (a -> a -> a) -> t a -> a
- gfoldMapdefault :: (Generic1 t, GFoldable' (Rep1 t), Monoid m) => (a -> m) -> t a -> m
- gtoList :: GFoldable t => t a -> [a]
- gconcat :: GFoldable t => t [a] -> [a]
- gconcatMap :: GFoldable t => (a -> [b]) -> t a -> [b]
- gand :: GFoldable t => t Bool -> Bool
- gor :: GFoldable t => t Bool -> Bool
- gany :: GFoldable t => (a -> Bool) -> t a -> Bool
- gall :: GFoldable t => (a -> Bool) -> t a -> Bool
- gsum :: (GFoldable t, Num a) => t a -> a
- gproduct :: (GFoldable t, Num a) => t a -> a
- gmaximum :: (GFoldable t, Ord a) => t a -> a
- gmaximumBy :: GFoldable t => (a -> a -> Ordering) -> t a -> a
- gminimum :: (GFoldable t, Ord a) => t a -> a
- gminimumBy :: GFoldable t => (a -> a -> Ordering) -> t a -> a
- gelem :: (GFoldable t, Eq a) => a -> t a -> Bool
- gnotElem :: (GFoldable t, Eq a) => a -> t a -> Bool
- gfind :: GFoldable t => (a -> Bool) -> t a -> Maybe a
- class GFoldable' t where
- gfoldMap' :: Monoid m => (a -> m) -> t a -> m
Generic Foldable class
Minimal complete definition
Nothing
Methods
gfoldMap :: Monoid m => (a -> m) -> t a -> m #
gfoldMap :: (Generic1 t, GFoldable' (Rep1 t), Monoid m) => (a -> m) -> t a -> m #
gfold :: Monoid m => t m -> m #
gfoldr :: (a -> b -> b) -> b -> t a -> b #
gfoldr' :: (a -> b -> b) -> b -> t a -> b #
gfoldl :: (a -> b -> a) -> a -> t b -> a #
gfoldl' :: (a -> b -> a) -> a -> t b -> a #
Instances
GFoldable [] # | |
Defined in Generics.Deriving.Foldable | |
GFoldable Maybe # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Maybe a -> m # gfold :: Monoid m => Maybe m -> m # gfoldr :: (a -> b -> b) -> b -> Maybe a -> b # gfoldr' :: (a -> b -> b) -> b -> Maybe a -> b # gfoldl :: (a -> b -> a) -> a -> Maybe b -> a # gfoldl' :: (a -> b -> a) -> a -> Maybe b -> a # | |
GFoldable Down # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Down a -> m # gfold :: Monoid m => Down m -> m # gfoldr :: (a -> b -> b) -> b -> Down a -> b # gfoldr' :: (a -> b -> b) -> b -> Down a -> b # gfoldl :: (a -> b -> a) -> a -> Down b -> a # gfoldl' :: (a -> b -> a) -> a -> Down b -> a # | |
GFoldable NonEmpty # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> NonEmpty a -> m # gfold :: Monoid m => NonEmpty m -> m # gfoldr :: (a -> b -> b) -> b -> NonEmpty a -> b # gfoldr' :: (a -> b -> b) -> b -> NonEmpty a -> b # gfoldl :: (a -> b -> a) -> a -> NonEmpty b -> a # gfoldl' :: (a -> b -> a) -> a -> NonEmpty b -> a # | |
GFoldable ZipList # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> ZipList a -> m # gfold :: Monoid m => ZipList m -> m # gfoldr :: (a -> b -> b) -> b -> ZipList a -> b # gfoldr' :: (a -> b -> b) -> b -> ZipList a -> b # gfoldl :: (a -> b -> a) -> a -> ZipList b -> a # gfoldl' :: (a -> b -> a) -> a -> ZipList b -> a # | |
GFoldable Identity # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Identity a -> m # gfold :: Monoid m => Identity m -> m # gfoldr :: (a -> b -> b) -> b -> Identity a -> b # gfoldr' :: (a -> b -> b) -> b -> Identity a -> b # gfoldl :: (a -> b -> a) -> a -> Identity b -> a # gfoldl' :: (a -> b -> a) -> a -> Identity b -> a # | |
GFoldable First # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> First a -> m # gfold :: Monoid m => First m -> m # gfoldr :: (a -> b -> b) -> b -> First a -> b # gfoldr' :: (a -> b -> b) -> b -> First a -> b # gfoldl :: (a -> b -> a) -> a -> First b -> a # gfoldl' :: (a -> b -> a) -> a -> First b -> a # | |
GFoldable Last # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Last a -> m # gfold :: Monoid m => Last m -> m # gfoldr :: (a -> b -> b) -> b -> Last a -> b # gfoldr' :: (a -> b -> b) -> b -> Last a -> b # gfoldl :: (a -> b -> a) -> a -> Last b -> a # gfoldl' :: (a -> b -> a) -> a -> Last b -> a # | |
GFoldable Dual # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Dual a -> m # gfold :: Monoid m => Dual m -> m # gfoldr :: (a -> b -> b) -> b -> Dual a -> b # gfoldr' :: (a -> b -> b) -> b -> Dual a -> b # gfoldl :: (a -> b -> a) -> a -> Dual b -> a # gfoldl' :: (a -> b -> a) -> a -> Dual b -> a # | |
GFoldable Product # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Product a -> m # gfold :: Monoid m => Product m -> m # gfoldr :: (a -> b -> b) -> b -> Product a -> b # gfoldr' :: (a -> b -> b) -> b -> Product a -> b # gfoldl :: (a -> b -> a) -> a -> Product b -> a # gfoldl' :: (a -> b -> a) -> a -> Product b -> a # | |
GFoldable Sum # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Sum a -> m # gfold :: Monoid m => Sum m -> m # gfoldr :: (a -> b -> b) -> b -> Sum a -> b # gfoldr' :: (a -> b -> b) -> b -> Sum a -> b # gfoldl :: (a -> b -> a) -> a -> Sum b -> a # gfoldl' :: (a -> b -> a) -> a -> Sum b -> a # | |
GFoldable Complex # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Complex a -> m # gfold :: Monoid m => Complex m -> m # gfoldr :: (a -> b -> b) -> b -> Complex a -> b # gfoldr' :: (a -> b -> b) -> b -> Complex a -> b # gfoldl :: (a -> b -> a) -> a -> Complex b -> a # gfoldl' :: (a -> b -> a) -> a -> Complex b -> a # | |
GFoldable First # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> First a -> m # gfold :: Monoid m => First m -> m # gfoldr :: (a -> b -> b) -> b -> First a -> b # gfoldr' :: (a -> b -> b) -> b -> First a -> b # gfoldl :: (a -> b -> a) -> a -> First b -> a # gfoldl' :: (a -> b -> a) -> a -> First b -> a # | |
GFoldable Last # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Last a -> m # gfold :: Monoid m => Last m -> m # gfoldr :: (a -> b -> b) -> b -> Last a -> b # gfoldr' :: (a -> b -> b) -> b -> Last a -> b # gfoldl :: (a -> b -> a) -> a -> Last b -> a # gfoldl' :: (a -> b -> a) -> a -> Last b -> a # | |
GFoldable Max # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Max a -> m # gfold :: Monoid m => Max m -> m # gfoldr :: (a -> b -> b) -> b -> Max a -> b # gfoldr' :: (a -> b -> b) -> b -> Max a -> b # gfoldl :: (a -> b -> a) -> a -> Max b -> a # gfoldl' :: (a -> b -> a) -> a -> Max b -> a # | |
GFoldable Min # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Min a -> m # gfold :: Monoid m => Min m -> m # gfoldr :: (a -> b -> b) -> b -> Min a -> b # gfoldr' :: (a -> b -> b) -> b -> Min a -> b # gfoldl :: (a -> b -> a) -> a -> Min b -> a # gfoldl' :: (a -> b -> a) -> a -> Min b -> a # | |
GFoldable Option # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Option a -> m # gfold :: Monoid m => Option m -> m # gfoldr :: (a -> b -> b) -> b -> Option a -> b # gfoldr' :: (a -> b -> b) -> b -> Option a -> b # gfoldl :: (a -> b -> a) -> a -> Option b -> a # gfoldl' :: (a -> b -> a) -> a -> Option b -> a # | |
GFoldable WrappedMonoid # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> WrappedMonoid a -> m # gfold :: Monoid m => WrappedMonoid m -> m # gfoldr :: (a -> b -> b) -> b -> WrappedMonoid a -> b # gfoldr' :: (a -> b -> b) -> b -> WrappedMonoid a -> b # gfoldl :: (a -> b -> a) -> a -> WrappedMonoid b -> a # gfoldl' :: (a -> b -> a) -> a -> WrappedMonoid b -> a # | |
GFoldable (Either a) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m # gfold :: Monoid m => Either a m -> m # gfoldr :: (a0 -> b -> b) -> b -> Either a a0 -> b # gfoldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b # gfoldl :: (a0 -> b -> a0) -> a0 -> Either a b -> a0 # gfoldl' :: (a0 -> b -> a0) -> a0 -> Either a b -> a0 # | |
GFoldable ((,) a) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a0 -> m) -> (a, a0) -> m # gfold :: Monoid m => (a, m) -> m # gfoldr :: (a0 -> b -> b) -> b -> (a, a0) -> b # gfoldr' :: (a0 -> b -> b) -> b -> (a, a0) -> b # gfoldl :: (a0 -> b -> a0) -> a0 -> (a, b) -> a0 # gfoldl' :: (a0 -> b -> a0) -> a0 -> (a, b) -> a0 # | |
GFoldable (Proxy :: Type -> Type) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Proxy a -> m # gfold :: Monoid m => Proxy m -> m # gfoldr :: (a -> b -> b) -> b -> Proxy a -> b # gfoldr' :: (a -> b -> b) -> b -> Proxy a -> b # gfoldl :: (a -> b -> a) -> a -> Proxy b -> a # gfoldl' :: (a -> b -> a) -> a -> Proxy b -> a # | |
GFoldable (Arg a) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a0 -> m) -> Arg a a0 -> m # gfold :: Monoid m => Arg a m -> m # gfoldr :: (a0 -> b -> b) -> b -> Arg a a0 -> b # gfoldr' :: (a0 -> b -> b) -> b -> Arg a a0 -> b # gfoldl :: (a0 -> b -> a0) -> a0 -> Arg a b -> a0 # gfoldl' :: (a0 -> b -> a0) -> a0 -> Arg a b -> a0 # | |
(Generic1 t, GFoldable' (Rep1 t)) => GFoldable (Default1 t) # | |
Defined in Generics.Deriving.Default Methods gfoldMap :: Monoid m => (a -> m) -> Default1 t a -> m # gfold :: Monoid m => Default1 t m -> m # gfoldr :: (a -> b -> b) -> b -> Default1 t a -> b # gfoldr' :: (a -> b -> b) -> b -> Default1 t a -> b # gfoldl :: (a -> b -> a) -> a -> Default1 t b -> a # gfoldl' :: (a -> b -> a) -> a -> Default1 t b -> a # | |
GFoldable (Const m :: Type -> Type) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 # gfold :: Monoid m0 => Const m m0 -> m0 # gfoldr :: (a -> b -> b) -> b -> Const m a -> b # gfoldr' :: (a -> b -> b) -> b -> Const m a -> b # gfoldl :: (a -> b -> a) -> a -> Const m b -> a # gfoldl' :: (a -> b -> a) -> a -> Const m b -> a # | |
(GFoldable f, GFoldable g) => GFoldable (Product f g) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Product f g a -> m # gfold :: Monoid m => Product f g m -> m # gfoldr :: (a -> b -> b) -> b -> Product f g a -> b # gfoldr' :: (a -> b -> b) -> b -> Product f g a -> b # gfoldl :: (a -> b -> a) -> a -> Product f g b -> a # gfoldl' :: (a -> b -> a) -> a -> Product f g b -> a # | |
(GFoldable f, GFoldable g) => GFoldable (Sum f g) # | |
Defined in Generics.Deriving.Foldable Methods gfoldMap :: Monoid m => (a -> m) -> Sum f g a -> m # gfold :: Monoid m => Sum f g m -> m # gfoldr :: (a -> b -> b) -> b -> Sum f g a -> b # gfoldr' :: (a -> b -> b) -> b -> Sum f g a -> b # gfoldl :: (a -> b -> a) -> a -> Sum f g b -> a # gfoldl' :: (a -> b -> a) -> a -> Sum f g b -> a # |
Default method
gfoldMapdefault :: (Generic1 t, GFoldable' (Rep1 t), Monoid m) => (a -> m) -> t a -> m #
Derived functions
gconcatMap :: GFoldable t => (a -> [b]) -> t a -> [b] #
gmaximumBy :: GFoldable t => (a -> a -> Ordering) -> t a -> a #
gminimumBy :: GFoldable t => (a -> a -> Ordering) -> t a -> a #
Internal Foldable class
class GFoldable' t where #