(a -> a -> b) -> [a] -> [b]
scanl1 is a variant of scanl that has no starting value argument:
> scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...]
scanr1 is a variant of scanr that has no starting value argument.
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.
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.
The nubBy function behaves just like nub, except it uses a user-supplied equality predicate instead of the overloaded == function.
The sortBy function is the non-overloaded version of sort.
The deleteBy function behaves like delete, but takes a user-supplied equality predicate.
The deleteFirstsBy function takes a predicate and two lists and returns the first list with the first occurrence of each element of the second list removed.
The unionBy function is the non-overloaded version of union.
The non-overloaded version of insert.
Lift a binary function to actions.
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.
scanr is the right-to-left dual of scanl. Note that
> head (scanr f z xs) == foldr f z xs.
The groupBy function is the non-overloaded version of group.
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.
Show more results