sequences: simplify find-from and find-last-from.
parent
327a4ba5af
commit
903b8eec0b
|
@ -422,21 +422,9 @@ PRIVATE>
|
||||||
: (find) ( seq quot quot' -- i elt )
|
: (find) ( seq quot quot' -- i elt )
|
||||||
pick [ [ (each) ] dip call ] dip finish-find ; inline
|
pick [ [ (each) ] dip call ] dip finish-find ; inline
|
||||||
|
|
||||||
: (find-from) ( n seq quot quot' -- i elt )
|
|
||||||
[ 2dup bounds-check? ] 2dip
|
|
||||||
[ (find) ] 2curry
|
|
||||||
[ 2drop f f ]
|
|
||||||
if ; inline
|
|
||||||
|
|
||||||
: (find-index) ( seq quot quot' -- i elt )
|
: (find-index) ( seq quot quot' -- i elt )
|
||||||
pick [ [ (each-index) ] dip call ] dip finish-find ; inline
|
pick [ [ (each-index) ] dip call ] dip finish-find ; inline
|
||||||
|
|
||||||
: (find-index-from) ( n seq quot quot' -- i elt )
|
|
||||||
[ 2dup bounds-check? ] 2dip
|
|
||||||
[ (find-index) ] 2curry
|
|
||||||
[ 2drop f f ]
|
|
||||||
if ; inline
|
|
||||||
|
|
||||||
: (accumulate) ( seq identity quot -- identity seq quot )
|
: (accumulate) ( seq identity quot -- identity seq quot )
|
||||||
swapd [ curry keep ] curry ; inline
|
swapd [ curry keep ] curry ; inline
|
||||||
|
|
||||||
|
@ -500,19 +488,19 @@ PRIVATE>
|
||||||
[ pick ] dip swap 3map-as ; inline
|
[ pick ] dip swap 3map-as ; inline
|
||||||
|
|
||||||
: find-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
: find-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
||||||
[ (find-integer) ] (find-from) ; inline
|
[ (find-integer) ] (find) ; inline
|
||||||
|
|
||||||
: find ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
: find ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
||||||
[ find-integer ] (find) ; inline
|
[ find-integer ] (find) ; inline
|
||||||
|
|
||||||
: find-last-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
: find-last-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
||||||
[ nip find-last-integer ] (find-from) ; inline
|
[ nip find-last-integer ] (find) ; inline
|
||||||
|
|
||||||
: find-last ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
: find-last ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
|
||||||
[ [ 1 - ] dip find-last-integer ] (find) ; inline
|
[ [ 1 - ] dip find-last-integer ] (find) ; inline
|
||||||
|
|
||||||
: find-index-from ( ... n seq quot: ( ... elt i -- ... ? ) -- ... i elt )
|
: find-index-from ( ... n seq quot: ( ... elt i -- ... ? ) -- ... i elt )
|
||||||
[ (find-integer) ] (find-index-from) ; inline
|
[ (find-integer) ] (find-index) ; inline
|
||||||
|
|
||||||
: find-index ( ... seq quot: ( ... elt i -- ... ? ) -- ... i elt )
|
: find-index ( ... seq quot: ( ... elt i -- ... ? ) -- ... i elt )
|
||||||
[ find-integer ] (find-index) ; inline
|
[ find-integer ] (find-index) ; inline
|
||||||
|
|
Loading…
Reference in New Issue