]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences: adding 2each-index.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 9 Aug 2012 03:08:08 +0000 (20:08 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 9 Aug 2012 03:08:08 +0000 (20:08 -0700)
core/sequences/sequences.factor

index 75f3b45b7949d60bfcbbcca77b14c4c4fee92928..3047c3e2a1bfa8a480cfc1e6e55bbe5abd47dcb0 100644 (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