fix nkeep so it takes a nonliteral quot

db4
Joe Groff 2009-10-15 15:04:30 -05:00
parent ac54569777
commit d413e14461
2 changed files with 4 additions and 2 deletions

View File

@ -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

View File

@ -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 ;