sequences: rename setup-each to (each).

...to match (each-from), (2each), and (3each), etc.
factor-shell
John Benediktsson 2017-10-24 17:22:55 -07:00
parent 1a952a1fdc
commit 37794a326c
2 changed files with 18 additions and 17 deletions

View File

@ -76,7 +76,7 @@ PRIVATE>
2 = [ 2 = [
[ first2-unsafe ] dip call [ first2-unsafe ] dip call
] [ ] [
[ [ first-unsafe 1 ] [ (setup-each) ] bi ] dip [ [ first-unsafe 1 ] [ setup-each ] bi ] dip
'[ @ _ keep swap ] (all-integers?) nip '[ @ _ keep swap ] (all-integers?) nip
] if ] if
] if ; inline ] if ; inline

View File

@ -388,14 +388,14 @@ PRIVATE>
<PRIVATE <PRIVATE
: (setup-each) ( seq -- n quot ) : setup-each ( seq -- n quot )
[ length check-length ] keep [ nth-unsafe ] curry ; inline [ length check-length ] keep [ nth-unsafe ] curry ; inline
: setup-each ( seq quot -- n quot' ) : (each) ( seq quot -- n quot' )
[ (setup-each) ] dip compose ; inline [ setup-each ] dip compose ; inline
: (each-index) ( seq quot -- n quot' ) : (each-index) ( seq quot -- n quot' )
[ (setup-each) [ keep ] curry ] dip compose ; inline [ setup-each [ keep ] curry ] dip compose ; inline
: (collect) ( quot into -- quot' ) : (collect) ( quot into -- quot' )
[ [ keep ] dip set-nth-unsafe ] 2curry ; inline [ [ keep ] dip set-nth-unsafe ] 2curry ; inline
@ -404,7 +404,7 @@ PRIVATE>
(collect) each-integer ; inline (collect) each-integer ; inline
: map-into ( seq quot into -- ) : map-into ( seq quot into -- )
[ setup-each ] dip collect ; inline [ (each) ] dip collect ; inline
: 2nth-unsafe ( n seq1 seq2 -- elt1 elt2 ) : 2nth-unsafe ( n seq1 seq2 -- elt1 elt2 )
[ nth-unsafe ] bi-curry@ bi ; inline [ nth-unsafe ] bi-curry@ bi ; inline
@ -418,17 +418,18 @@ PRIVATE>
: 3nth-unsafe ( n seq1 seq2 seq3 -- elt1 elt2 elt3 ) : 3nth-unsafe ( n seq1 seq2 seq3 -- elt1 elt2 elt3 )
[ nth-unsafe ] tri-curry@ tri ; inline [ nth-unsafe ] tri-curry@ tri ; inline
: setup-3each ( seq1 seq2 seq3 -- n quot )
[ [ length ] tri@ min min check-length ]
[ [ 3nth-unsafe ] 3curry ] 3bi ; inline
: (3each) ( seq1 seq2 seq3 quot -- n quot' ) : (3each) ( seq1 seq2 seq3 quot -- n quot' )
[ [ setup-3each ] dip compose ; inline
[ [ length ] tri@ min min check-length ]
[ [ 3nth-unsafe ] 3curry ] 3bi
] dip compose ; 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
: (find) ( seq quot quot' -- i elt ) : (find) ( seq quot quot' -- i elt )
pick [ [ setup-each ] dip call ] dip finish-find ; inline pick [ [ (each) ] dip call ] dip finish-find ; inline
: (find-from) ( n seq quot quot' -- i elt ) : (find-from) ( n seq quot quot' -- i elt )
[ 2dup bounds-check? ] 2dip [ 2dup bounds-check? ] 2dip
@ -454,10 +455,10 @@ PRIVATE>
PRIVATE> PRIVATE>
: each ( ... seq quot: ( ... x -- ... ) -- ... ) : each ( ... seq quot: ( ... x -- ... ) -- ... )
setup-each each-integer ; inline (each) each-integer ; inline
: each-from ( ... seq quot: ( ... x -- ... ) i -- ... ) : each-from ( ... seq quot: ( ... x -- ... ) i -- ... )
-rot setup-each (each-integer) ; inline -rot (each) (each-integer) ; inline
: reduce ( ... seq identity quot: ( ... prev elt -- ... next ) -- ... result ) : reduce ( ... seq identity quot: ( ... prev elt -- ... next ) -- ... result )
swapd each ; inline swapd each ; inline
@ -466,7 +467,7 @@ PRIVATE>
[ over ] dip [ [ collect ] keep ] new-like ; inline [ over ] dip [ [ collect ] keep ] new-like ; inline
: map-as ( ... seq quot: ( ... elt -- ... newelt ) exemplar -- ... newseq ) : map-as ( ... seq quot: ( ... elt -- ... newelt ) exemplar -- ... newseq )
[ setup-each ] dip map-integers ; inline [ (each) ] dip map-integers ; inline
: map ( ... seq quot: ( ... elt -- ... newelt ) -- ... newseq ) : map ( ... seq quot: ( ... elt -- ... newelt ) -- ... newseq )
over map-as ; inline over map-as ; inline
@ -544,7 +545,7 @@ PRIVATE>
[ find-integer ] (find-index) ; inline [ find-integer ] (find-index) ; inline
: all? ( ... seq quot: ( ... elt -- ... ? ) -- ... ? ) : all? ( ... seq quot: ( ... elt -- ... ? ) -- ... ? )
setup-each all-integers? ; inline (each) all-integers? ; inline
: push-if ( ..a elt quot: ( ..a elt -- ..b ? ) accum -- ..b ) : push-if ( ..a elt quot: ( ..a elt -- ..b ? ) accum -- ..b )
[ keep ] dip rot [ push ] [ 2drop ] if ; inline [ keep ] dip rot [ push ] [ 2drop ] if ; inline
@ -1109,7 +1110,7 @@ PRIVATE>
: generic-flip ( matrix -- newmatrix ) : generic-flip ( matrix -- newmatrix )
[ [
[ first-unsafe length 1 ] keep [ first-unsafe length 1 ] keep
[ length min ] setup-each (each-integer) <iota> [ length min ] (each) (each-integer) <iota>
] keep ] keep
[ [ nth-unsafe ] with { } map-as ] curry { } map-as ; inline [ [ nth-unsafe ] with { } map-as ] curry { } map-as ; inline
@ -1122,7 +1123,7 @@ USE: arrays
{ array } declare { array } declare
[ [
[ first-unsafe array-length 1 ] keep [ first-unsafe array-length 1 ] keep
[ array-length min ] setup-each (each-integer) <iota> [ array-length min ] (each) (each-integer) <iota>
] keep ] keep
[ [ { array } declare array-nth ] with { } map-as ] curry { } map-as ; [ [ { array } declare array-nth ] with { } map-as ] curry { } map-as ;