sequences.extras: cleanup, make reverse-as faster.
parent
9243d39ef5
commit
bcce56f46b
|
@ -361,7 +361,8 @@ INSTANCE: odds immutable-sequence
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: (reverse) ( seq -- newseq )
|
: (reverse) ( seq -- newseq )
|
||||||
dup [ length ] keep new-sequence [ 0 swap copy ] keep reverse! ;
|
dup [ length ] keep new-sequence
|
||||||
|
[ 0 swap copy-unsafe ] keep reverse! ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
@ -391,14 +392,18 @@ PRIVATE>
|
||||||
]
|
]
|
||||||
] keep dup branch? [ drop f ] unless make ;
|
] keep dup branch? [ drop f ] unless make ;
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
: (map-find-index) ( seq quot find-quot -- result elt index )
|
: (map-find-index) ( seq quot find-quot -- result elt index )
|
||||||
[ [ f ] 2dip [ [ nip ] 2dip call dup ] curry ] dip call
|
[ [ f ] 2dip [ [ nip ] 2dip call dup ] curry ] dip call
|
||||||
[ [ [ drop f ] unless ] keep ] dip ; inline
|
[ [ [ drop f ] unless ] keep ] dip ; inline
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result elt index )
|
: map-find-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result elt index )
|
||||||
[ find-index ] (map-find-index) ; inline
|
[ find-index ] (map-find-index) ; inline
|
||||||
|
|
||||||
: filter-length ( seq n -- seq' ) swap [ length = ] with filter ;
|
: filter-length ( seq n -- seq' ) '[ length _ = ] filter ;
|
||||||
|
|
||||||
: all-shortest ( seqs -- seqs' ) dup shortest length filter-length ;
|
: all-shortest ( seqs -- seqs' ) dup shortest length filter-length ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue