sequences: adding 2each-index.

John Benediktsson 2012-08-08 20:08:08 -07:00
parent b6c01917ab
commit 608198c670
1 changed files with 10 additions and 4 deletions

View File

@ -396,11 +396,14 @@ PRIVATE>
: 2nth-unsafe ( n seq1 seq2 -- elt1 elt2 )
[ nth-unsafe ] bi-curry@ bi ; inline
: ((2each)) ( seq1 seq2 -- n quot )
[ min-length ] 2keep [ 2nth-unsafe ] 2curry ; inline
: (2each) ( seq1 seq2 quot -- n quot' )
[
[ min-length ] 2keep
[ 2nth-unsafe ] 2curry
] dip compose ; inline
[ ((2each)) ] dip compose ; inline
: (2each-index) ( seq1 seq2 quot -- n quot' )
[ ((2each)) [ keep ] curry ] dip compose ; inline
: 3nth-unsafe ( n seq1 seq2 seq3 -- elt1 elt2 elt3 )
[ nth-unsafe ] tri-curry@ tri ; inline
@ -473,6 +476,9 @@ PRIVATE>
: 2each ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... ) -- ... )
(2each) each-integer ; inline
: 2each-index ( ... seq1 seq2 quot: ( ... elt1 elt2 index -- ... ) -- ... )
(2each-index) each-integer ; inline
: 2reduce ( ... seq1 seq2 identity quot: ( ... prev elt1 elt2 -- ... next ) -- ... result )
[ -rot ] dip 2each ; inline