2over fixnum>= [
3drop
] [
- [ swap >r call 1 fixnum+fast r> ] keep (fx-repeat)
+ [ swap [ call 1 fixnum+fast ] dip ] keep (fx-repeat)
] if ; inline recursive
: fx-repeat ( n quot -- )
2over dup xyz drop >= [
3drop
] [
- [ swap >r call 1+ r> ] keep (i-repeat)
+ [ swap [ call 1+ ] dip ] keep (i-repeat)
] if ; inline recursive
-: i-repeat >r { integer } declare r> 0 -rot (i-repeat) ; inline
+: i-repeat [ { integer } declare ] dip 0 -rot (i-repeat) ; inline
[ t ] [
[ [ dup xyz drop ] i-repeat ] \ xyz inlined?
2dup >= [
2drop
] [
- >r dup annotate-entry-test-1 1+ r> (annotate-entry-test-2)
+ [ dup annotate-entry-test-1 1+ ] dip (annotate-entry-test-2)
] if ; inline recursive
: annotate-entry-test-2 0 -rot (annotate-entry-test-2) ; inline
] unit-test
[ ] [
- [ [ >r "A" throw r> ] [ "B" throw ] if ]
+ [ [ [ "A" throw ] dip ] [ "B" throw ] if ]
cleaned-up-tree drop
] unit-test
: buffalo-wings ( i seq -- )
2dup < [
2dup chicken-fingers
- >r 1+ r> buffalo-wings
+ [ 1+ ] dip buffalo-wings
] [
2drop
] if ; inline recursive
: ribs ( i seq -- )
2dup < [
steak
- >r 1+ r> ribs
+ [ 1+ ] dip ribs
] [
2drop
] if ; inline recursive