user
When sorting records in a table by a particular column or field, a stable sort will always retain the relative order of records that have the same key.

Example

In this table of countries and cities, a stable sort on the *second* column, the cities, would keep the   **US Birmingham**   above the   **UK Birmingham**.

(Although an unstable sort *might*, in this case, place the   **US Birmingham**   above the   **UK Birmingham**,   a stable sort routine would *guarantee* it).

```
UK  London
US  New York
US  Birmingham
UK  Birmingham

```

Similarly, stable sorting on just the first column would generate **UK London** as the first item and **US Birmingham** as the last item   (since the order of the elements having the same first word –   **UK** or **US**   – would be maintained).

Task
:   1. Examine the documentation on any in-built sort routines supplied by a language.
    2. Indicate if an in-built routine is supplied
    3. If supplied, indicate whether or not the in-built routine is stable.

(This Wikipedia table shows the stability of some common sort routines).
assistant
(formerly Perl 6)

The sort built-in (available as sub and method) is stable.

Short demonstration for sorting only on the second item of each array:

```
use v6;
my @cities =
    ['UK', 'London'],
    ['US', 'New York'],
    ['US', 'Birmingham'],
    ['UK', 'Birmingham'],
    ;

.say for @cities.sort: { .[1] };

```