Add 2map-into, 2change-each
parent
b42c845d48
commit
47376d86f8
|
@ -326,6 +326,9 @@ M: immutable-sequence clone-like like ;
|
||||||
>r [ min-length ] 2keep r>
|
>r [ min-length ] 2keep r>
|
||||||
[ >r 2nth-unsafe r> call ] 3curry ; inline
|
[ >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 )
|
: finish-find ( i seq -- i elt )
|
||||||
over [ dupd nth-unsafe ] [ drop f ] if ; inline
|
over [ dupd nth-unsafe ] [ drop f ] if ; inline
|
||||||
|
|
||||||
|
@ -382,12 +385,15 @@ PRIVATE>
|
||||||
>r -rot r> 2each ; inline
|
>r -rot r> 2each ; inline
|
||||||
|
|
||||||
: 2map-as ( seq1 seq2 quot exemplar -- newseq )
|
: 2map-as ( seq1 seq2 quot exemplar -- newseq )
|
||||||
>r (2each) over r>
|
>r 2over min-length r>
|
||||||
[ [ collect ] keep ] new-like ; inline
|
[ [ 2map-into ] keep ] new-like ; inline
|
||||||
|
|
||||||
: 2map ( seq1 seq2 quot -- newseq )
|
: 2map ( seq1 seq2 quot -- newseq )
|
||||||
pick 2map-as ; inline
|
pick 2map-as ; inline
|
||||||
|
|
||||||
|
: 2change-each ( seq1 seq2 quot -- newseq )
|
||||||
|
pick 2map-into ; inline
|
||||||
|
|
||||||
: 2all? ( seq1 seq2 quot -- ? )
|
: 2all? ( seq1 seq2 quot -- ? )
|
||||||
(2each) all-integers? ; inline
|
(2each) all-integers? ; inline
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue