]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/sorting/extras/extras.factor
factor: trim using lists
[factor.git] / extra / sorting / extras / extras.factor
index 39f45757e8eb8ca6f12b8b2e3b0ff008a701545d..9dcb43aa390ab7b424ea987b5ee2988c25f46fe3 100644 (file)
@@ -1,5 +1,5 @@
-USING: arrays assocs kernel kernel.private locals math
-math.order sequences sequences.extras sequences.private sorting ;
+USING: arrays assocs kernel kernel.private math math.order
+sequences sequences.extras sequences.private sorting ;
 IN: sorting.extras
 
 : argsort ( seq quot: ( obj1 obj2 -- <=> ) -- sortedseq )
@@ -8,7 +8,7 @@ IN: sorting.extras
     sort [ second-unsafe ] map! ; inline
 
 : map-sort ( ... seq quot: ( ... elt -- ... key ) -- ... sortedseq )
-    [ map ] curry keep zip
+    [ keep ] curry { } map>assoc
     [ { array } declare first-unsafe ] sort-with
     [ { array } declare second-unsafe ] map ; inline