Data.List.Key

utility-ht-0.0.11: Various small helper functions for Lists, Maybes, Tuples, Functions

Safe Haskell | Safe
Language | Haskell98

Data.List.Key

Description

Variant of Data.List functions like `group`, `sort` where the comparison is performed on a key computed from the list elements. In principle these functions could be replaced by e.g. `sortBy (compare `on` f)`, but `f` will be re-computed for every comparison. If the evaluation of `f` is expensive, our functions are better, since they buffer the results of `f`.

Synopsis

- nub :: Eq b => (a -> b) -> [a] -> [a]
- sort :: Ord b => (a -> b) -> [a] -> [a]
- minimum :: Ord b => (a -> b) -> [a] -> a
- maximum :: Ord b => (a -> b) -> [a] -> a
- group :: Eq b => (a -> b) -> [a] -> [[a]]
- merge :: Ord b => (a -> b) -> [a] -> [a] -> [a]

# Documentation

nub :: Eq b => (a -> b) -> [a] -> [a]

sort :: Ord b => (a -> b) -> [a] -> [a]

minimum :: Ord b => (a -> b) -> [a] -> a

argmin

maximum :: Ord b => (a -> b) -> [a] -> a

argmax

group :: Eq b => (a -> b) -> [a] -> [[a]]

Divides a list into sublists such that the members in a sublist share the same key. It uses semantics of `groupBy`, not that of `groupBy`.

merge :: Ord b => (a -> b) -> [a] -> [a] -> [a]