sequences.extras: adding reverse-as.

db4
John Benediktsson 2012-09-19 13:29:34 -07:00
parent e97c8971a5
commit 346e1f4cf8
2 changed files with 13 additions and 0 deletions

View File

@ -146,3 +146,6 @@ IN: sequences.extras.tests
{ V{ 97 115 100 102 } } [
"asdf" [ [ read1 ] V{ } loop>sequence ] with-string-reader
] unit-test
{ "" } [ { } "" reverse-as ] unit-test
{ "ABC" } [ { 67 66 65 } "" reverse-as ] unit-test

View File

@ -315,3 +315,13 @@ INSTANCE: odds immutable-sequence
: loop>array ( quot -- seq )
{ } loop>sequence ; inline
<PRIVATE
: (reverse) ( seq -- newseq )
dup [ length ] keep new-sequence [ 0 swap copy ] keep reverse! ;
PRIVATE>
: reverse-as ( seq exemplar -- newseq )
[ (reverse) ] [ like ] bi* ;