sort package:data-ordlist

The sort function implements a stable sorting algorithm. It is a special case of sortBy, which allows the programmer to supply their own comparison function.
The sortBy function is the non-overloaded version of sort.
The sortOn function provides the decorate-sort-undecorate idiom, also known as the "Schwartzian transform".
This variant of sortOn recomputes the sorting key every comparison. This can be better for functions that are cheap to compute. This is definitely better for projections, as the decorate-sort-undecorate saves nothing and adds two traversals of the list and extra memory allocation.
The isSorted predicate returns True if the elements of a list occur in non-descending order, equivalent to isSortedBy (<=).
The isSortedBy function returns True iff the predicate returns true for all adjacent pairs of elements in the list.
The nubSort function is equivalent to nub . sort, except that duplicates are removed as it sorts. It is essentially the same implementation as Data.List.sort, with merge replaced by union. Thus the performance of nubSort should better than or nearly equal to sort alone. It is faster than both sort and nub . sort when the input contains significant quantities of duplicated elements.
The nubSortBy function is the non-overloaded version of nubSort.
The nubSortOn function provides decorate-sort-undecorate for nubSort.
This variant of nubSortOn recomputes the sorting key for each comparison