diff --git a/extra/sorting/extras/extras-tests.factor b/extra/sorting/extras/extras-tests.factor index 49916e6248..4df1ac9e45 100644 --- a/extra/sorting/extras/extras-tests.factor +++ b/extra/sorting/extras/extras-tests.factor @@ -6,4 +6,7 @@ IN: sorting.extras { "hello" "goodbye" "yo" } [ [ length ] bi@ <=> ] argsort ] unit-test -{ 1 { 2 3 4 5 } } [ 1 { 1 2 3 4 } [ dupd + ] map-sort ] unit-test +{ { "blue" "green" "purple" } } [ + { "green" "blue" "purple" } [ length ] map-sort +] unit-test +{ 1 { 1 2 3 4 } } [ 1 { 4 2 1 3 } [ dupd + ] map-sort ] unit-test diff --git a/extra/sorting/extras/extras.factor b/extra/sorting/extras/extras.factor index 72d2e1574f..a686b8d9fb 100644 --- a/extra/sorting/extras/extras.factor +++ b/extra/sorting/extras/extras.factor @@ -7,5 +7,5 @@ IN: sorting.extras sort [ second-unsafe ] map! ; inline : map-sort ( ... seq quot: ( ... elt -- ... key ) -- ... sortedseq ) - [ map ] curry keep zip [ second-unsafe ] sort-with - [ first-unsafe ] map ; inline + [ map ] curry keep zip [ first-unsafe ] sort-with + [ second-unsafe ] map ; inline