Foldable is:module

Class of data structures that can be folded to a summary value.
Foldable functions, with wrappers like the Safe module.
Re-exports a subset of the Data.Foldable1 module along with some additional combinators that require Foldable1 constraints.
Contains utility functions for working with tuples.
This module provides Foldable and Traversable related types and functions.
Foldable types. A minimal implementation of this interface is given by either FoldMap or Foldr, but a default still needs to be given explicitly for the other.
data MyType a = ... {- Some custom Foldable type -}

-- Method 1: Implement Foldr, default FoldMap.
type instance Eval (Foldr f y xs) = ... {- Explicit implementation -}
type instance Eval (FoldMap f xs) = FoldMapDefault_ f xs {- Default -}

-- Method 2: Implement FoldMap, default Foldr.
type instance Eval (FoldMap f xs) = ... {- Explicit implementation -}
type instance Eval (Foldr f y xs) = FoldrDefault_ f y xs {- Default -}
Efficient enumeration of subsets of triangular elements. Given a list [1..n] we want to enumerate a subset [(i,j)] of ordered pairs in such a way that we only have to hold the elements necessary for this subset in memory.
Class of data structures that can be folded to a summary value.
Deprecated: Use Data.Aeson.Extra.Recursive module
This shows how Foldable is basically Recursive specialized to lists. The true operation of Foldable is toList. As these few operations have the usual signatures, the rest of the type class can be implemented in the as in base.
Overrides for problematic Foldable functions.
A class of non-empty data structures that can be folded to a summary value.
Foldable1 is a typeclass like Foldable but for non-empty structures. For example, NonEmpty, Identity. Foldable1 has all type-safe and total methods like head1, maximum1 in contradiction with Foldable.
Generic tools for data structures that can be folded. Written by John Goerzen, jgoerzen@complete.org