diff --git a/extra/sets/extras/extras-tests.factor b/extra/sets/extras/extras-tests.factor index 9458f4aecd..a33d88d231 100644 --- a/extra/sets/extras/extras-tests.factor +++ b/extra/sets/extras/extras-tests.factor @@ -25,4 +25,4 @@ IN: sets.extras.tests { HS{ 0 10 20 30 40 } } [ 5 iota [ 10 * ] mapped-set ] unit-test -{ { 1 2 4 } } [ { 1 2 3 4 5 } [ 2/ ] duplicates-by ] unit-test +{ { 1 2 4 } } [ { 1 2 3 4 5 } [ 2/ ] unique-by ] unit-test diff --git a/extra/sets/extras/extras.factor b/extra/sets/extras/extras.factor index 5810cd3b17..542b5962a6 100644 --- a/extra/sets/extras/extras.factor +++ b/extra/sets/extras/extras.factor @@ -35,5 +35,5 @@ IN: sets.extras '[ @ _ adjoin ] each ] keep ; inline -: duplicates-by ( seq quot: ( elt -- key ) -- seq' ) +: unique-by ( seq quot: ( elt -- key ) -- seq' ) over length '[ @ _ ?adjoin ] filter ; inline