| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Class of data structures that can be folded to a summary value. Many of these functions generalize Prelude, Control.Monad and
Data.List functions of the same names from lists to any | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Synopsis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Folds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

class Foldable t where | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Special biased folds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Fold over the elements of a structure, associating to the right, but strictly. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Fold over the elements of a structure, associating to the left, but strictly. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Monadic fold over the elements of a structure, associating to the right, i.e. from right to left. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Monadic fold over the elements of a structure, associating to the left, i.e. from left to right. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Folding actions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Applicative actions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Map each element of a structure to an action, evaluate these actions from left to right, and ignore the results. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

for_ is traverse_ with its arguments flipped.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Evaluate each action in the structure from left to right, and ignore the results. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

asum :: (Foldable t, Alternative f) => t (f a) -> f a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The sum of a collection of actions, generalizing concat.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Monadic actions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

forM_ is mapM_ with its arguments flipped.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

sequence_ :: (Foldable t, Monad m) => t (m a) -> m () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Evaluate each monadic action in the structure from left to right, and ignore the results. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

msum :: (Foldable t, MonadPlus m) => t (m a) -> m a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The sum of a collection of actions, generalizing concat.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Specialized folds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

toList :: Foldable t => t a -> [a] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

List of elements of a structure. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

concat :: Foldable t => t [a] -> [a] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The concatenation of all the elements of a container of lists. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

concatMap :: Foldable t => (a -> [b]) -> t a -> [b] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Map a function over all the elements of a container and concatenate the resulting lists. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

and :: Foldable t => t Bool -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

and returns the conjunction of a container of Bools. For the
result to be True, the container must be finite; False, however,
results from a False value finitely far from the left end.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

or :: Foldable t => t Bool -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

or returns the disjunction of a container of Bools. For the
result to be False, the container must be finite; True, however,
results from a True value finitely far from the left end.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

any :: Foldable t => (a -> Bool) -> t a -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Determines whether any element of the structure satisfies the predicate. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

all :: Foldable t => (a -> Bool) -> t a -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Determines whether all elements of the structure satisfy the predicate. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

sum :: (Foldable t, Num a) => t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The sum function computes the sum of the numbers of a structure.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

product :: (Foldable t, Num a) => t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The product function computes the product of the numbers of a structure.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

maximum :: (Foldable t, Ord a) => t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The largest element of a non-empty structure. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The largest element of a non-empty structure with respect to the given comparison function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

minimum :: (Foldable t, Ord a) => t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The least element of a non-empty structure. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The least element of a non-empty structure with respect to the given comparison function. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Searches | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

elem :: (Foldable t, Eq a) => a -> t a -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Does the element occur in the structure? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

notElem :: (Foldable t, Eq a) => a -> t a -> Bool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

notElem is the negation of elem.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

find :: Foldable t => (a -> Bool) -> t a -> Maybe a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The find function takes a predicate and a structure and returns
the leftmost element of the structure matching the predicate, or
Nothing if there is no such element.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Produced by Haddock version 0.8 |