sequences: map, 2map, 3map use new map-integers combinator; last two no longer depend on integers-as-sequences
parent
d20d335447
commit
07ea78df57
|
@ -414,8 +414,11 @@ PRIVATE>
|
||||||
: reduce ( seq identity quot -- result )
|
: reduce ( seq identity quot -- result )
|
||||||
swapd each ; inline
|
swapd each ; inline
|
||||||
|
|
||||||
|
: map-integers ( len quot exemplar -- newseq )
|
||||||
|
[ over ] dip [ [ collect ] keep ] new-like ; inline
|
||||||
|
|
||||||
: map-as ( seq quot exemplar -- newseq )
|
: map-as ( seq quot exemplar -- newseq )
|
||||||
[ over length ] dip [ [ map-into ] keep ] new-like ; inline
|
[ (each) ] dip map-integers ; inline
|
||||||
|
|
||||||
: map ( seq quot -- newseq )
|
: map ( seq quot -- newseq )
|
||||||
over map-as ; inline
|
over map-as ; inline
|
||||||
|
@ -442,7 +445,7 @@ PRIVATE>
|
||||||
[ -rot ] dip 2each ; inline
|
[ -rot ] dip 2each ; inline
|
||||||
|
|
||||||
: 2map-as ( seq1 seq2 quot exemplar -- newseq )
|
: 2map-as ( seq1 seq2 quot exemplar -- newseq )
|
||||||
[ (2each) ] dip map-as ; inline
|
[ (2each) ] dip map-integers ; inline
|
||||||
|
|
||||||
: 2map ( seq1 seq2 quot -- newseq )
|
: 2map ( seq1 seq2 quot -- newseq )
|
||||||
pick 2map-as ; inline
|
pick 2map-as ; inline
|
||||||
|
@ -454,7 +457,7 @@ PRIVATE>
|
||||||
(3each) each ; inline
|
(3each) each ; inline
|
||||||
|
|
||||||
: 3map-as ( seq1 seq2 seq3 quot exemplar -- newseq )
|
: 3map-as ( seq1 seq2 seq3 quot exemplar -- newseq )
|
||||||
[ (3each) ] dip map-as ; inline
|
[ (3each) ] dip map-integers ; inline
|
||||||
|
|
||||||
: 3map ( seq1 seq2 seq3 quot -- newseq )
|
: 3map ( seq1 seq2 seq3 quot -- newseq )
|
||||||
[ pick ] dip swap 3map-as ; inline
|
[ pick ] dip swap 3map-as ; inline
|
||||||
|
|
Loading…
Reference in New Issue