IN: generalizations\r
\r
MACRO: nsequence ( n seq -- quot )\r
- [ drop <reversed> ] [ '[ , , new-sequence ] ] 2bi\r
- [ '[ @ [ , swap set-nth-unsafe ] keep ] ] reduce ;\r
+ [ drop <reversed> ] [ '[ _ _ new-sequence ] ] 2bi\r
+ [ '[ @ [ _ swap set-nth-unsafe ] keep ] ] reduce ;\r
\r
MACRO: narray ( n -- quot )\r
- '[ , { } nsequence ] ;\r
+ '[ _ { } nsequence ] ;\r
\r
MACRO: firstn ( n -- )\r
dup zero? [ drop [ drop ] ] [\r
- [ [ '[ [ , ] dip nth-unsafe ] ] map ]\r
- [ 1- '[ [ , ] dip bounds-check 2drop ] ]\r
- bi prefix '[ , cleave ]\r
+ [ [ '[ [ _ ] dip nth-unsafe ] ] map ]\r
+ [ 1- '[ [ _ ] dip bounds-check 2drop ] ]\r
+ bi prefix '[ _ cleave ]\r
] if ;\r
\r
MACRO: npick ( n -- )\r
1- dup saver [ dup ] rot [ r> swap ] n*quot 3append ;\r
\r
MACRO: ndup ( n -- )\r
- dup '[ , npick ] n*quot ;\r
+ dup '[ _ npick ] n*quot ;\r
\r
MACRO: nrot ( n -- )\r
1- dup saver swap [ r> swap ] n*quot append ;\r
2 + [ dupd -nrot ] curry ;\r
\r
MACRO: nrev ( n -- quot )\r
- 1 [a,b] [ ] [ '[ @ , -nrot ] ] reduce ;\r
+ 1 [a,b] [ ] [ '[ @ _ -nrot ] ] reduce ;\r
\r
MACRO: ndip ( quot n -- )\r
dup saver -rot restorer 3append ;\r
\r
MACRO: nkeep ( n -- )\r
[ ] [ 1+ ] [ ] tri\r
- '[ [ , ndup ] dip , -nrot , nslip ] ;\r
+ '[ [ _ ndup ] dip _ -nrot _ nslip ] ;\r
\r
MACRO: ncurry ( n -- )\r
[ curry ] n*quot ;\r
\r
MACRO: napply ( n -- )\r
2 [a,b]\r
- [ [ 1- ] keep '[ , ntuck , nslip ] ]\r
+ [ [ 1- ] keep '[ _ ntuck _ nslip ] ]\r
map concat >quotation [ call ] append ;\r