From 47376d86f8d7b6a65f727e95d2b268bee9ef92dc Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 22 Jul 2008 04:44:33 -0500 Subject: [PATCH] Add 2map-into, 2change-each --- core/sequences/sequences.factor | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 349d68adc5..c3126abf0d 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -326,6 +326,9 @@ M: immutable-sequence clone-like like ; >r [ min-length ] 2keep r> [ >r 2nth-unsafe r> call ] 3curry ; inline +: 2map-into ( seq1 seq2 quot into -- newseq ) + >r (2each) r> collect ; inline + : finish-find ( i seq -- i elt ) over [ dupd nth-unsafe ] [ drop f ] if ; inline @@ -382,12 +385,15 @@ PRIVATE> >r -rot r> 2each ; inline : 2map-as ( seq1 seq2 quot exemplar -- newseq ) - >r (2each) over r> - [ [ collect ] keep ] new-like ; inline + >r 2over min-length r> + [ [ 2map-into ] keep ] new-like ; inline : 2map ( seq1 seq2 quot -- newseq ) pick 2map-as ; inline +: 2change-each ( seq1 seq2 quot -- newseq ) + pick 2map-into ; inline + : 2all? ( seq1 seq2 quot -- ? ) (2each) all-integers? ; inline