**Packages**- base

The non-overloaded version of insert.

scanl1 is a variant of scanl that has no starting value argument:
> scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...]

The maximumBy function takes a comparison function and a list and returns the greatest element of the list by the comparison function. The list must be finite and non-empty.

The minimumBy function takes a comparison function and a list and returns the least element of the list by the comparison function. The list must be finite and non-empty.

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

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

foldl1 is a variant of foldl that has no starting value argument, and thus must be applied to non-empty lists.

foldr1 is a variant of foldr that has no starting value argument, and thus must be applied to non-empty lists.

A strict version of foldl1

scanl is similar to foldl, but returns a list of successive reduced values from the left:
> scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...]
Note that
> last (scanl f z xs) == foldl f z xs.

zipWith generalises zip by zipping with the function given as the first argument, instead of a tupling function. For example, zipWith (+) is applied to two lists to produce the list of corresponding sums.

foldl, applied to a binary operator, a starting value (typically the left-identity of the operator), and a list, reduces the list using the binary operator, from left to right:
> foldl f z [x1, x2, ..., xn] == (...((z `f` x1) `f` x2) `f`...) `f` xn
The list must be finite.

A strict version of foldl.

foldr, applied to a binary operator, a starting value (typically the right-identity of the operator), and a list, reduces the list using the binary operator, from right to left:
> foldr f z [x1, x2, ..., xn] == x1 `f` (x2 `f` ... (xn `f` z)...)

Lift a binary function to actions.