diff --git a/basis/generalizations/generalizations-tests.factor b/basis/generalizations/generalizations-tests.factor index 73f8410790..cb2c40ca0a 100644 --- a/basis/generalizations/generalizations-tests.factor +++ b/basis/generalizations/generalizations-tests.factor @@ -30,7 +30,9 @@ IN: generalizations.tests [ 1 5 4 3 2 ] [ 1 2 3 4 5 4 nspin ] unit-test [ 1 2 3 4 5 [ drop drop drop drop drop 2 ] 5 nkeep ] must-infer +[ 1 2 3 4 5 2 '[ drop drop drop drop drop _ ] 5 nkeep ] must-infer { 2 1 2 3 4 5 } [ 1 2 3 4 5 [ drop drop drop drop drop 2 ] 5 nkeep ] unit-test +{ 2 1 2 3 4 5 } [ 1 2 3 4 5 2 '[ drop drop drop drop drop _ ] 5 nkeep ] unit-test [ [ 1 2 3 + ] ] [ 1 2 3 [ + ] 3 ncurry ] unit-test [ "HELLO" ] [ "hello" [ >upper ] 1 napply ] unit-test diff --git a/basis/generalizations/generalizations.factor b/basis/generalizations/generalizations.factor index 9354b89974..2ae076655e 100644 --- a/basis/generalizations/generalizations.factor +++ b/basis/generalizations/generalizations.factor @@ -77,8 +77,8 @@ MACRO: ntuck ( n -- ) MACRO: ndip ( n -- ) [ [ dip ] curry ] n*quot [ call ] compose ; -MACRO: nkeep ( quot n -- ) - tuck '[ _ ndup _ _ ndip ] ; +MACRO: nkeep ( n -- ) + dup '[ [ _ ndup ] dip _ ndip ] ; MACRO: ncurry ( n -- ) [ curry ] n*quot ;