generic-deriving-1.4.0: Generic programming library for generalised deriving.

Safe HaskellSafe-Infered

Generics.Deriving.Foldable

Contents

Synopsis

Foldable class

class GFoldable t where

Methods

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

Instances

Default method

gfoldMapdefault :: (Generic1 t, GFoldable' (Rep1 t), Monoid m) => (a -> m) -> t a -> m

Derived functions

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