diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 600c5cb581..291c576dc6 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -427,13 +427,13 @@ PRIVATE> -: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result elt index ) +: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result i elt ) [ find-index ] (map-find-index) ; inline : filter-length ( seq n -- seq' ) '[ length _ = ] filter ; @@ -527,3 +527,9 @@ PRIVATE> : count* ( ... seq quot: ( ... elt -- ... ? ) -- ... % ) over [ count ] [ length ] bi* / ; inline + +: find-last-index ( ... seq quot: ( ... elt i -- ... ? ) -- ... i elt ) + [ [ 1 - ] dip find-last-integer ] (find-index) ; inline + +: map-find-last-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result i elt ) + [ find-last-index ] (map-find-index) ; inline