{ $examples
{ $example "USING: prettyprint math sequences ;"
"{ 0 0 1 2 3 0 0 } [ zero? ] trim-tail-slice ."
- "T{ slice { to 5 } { seq { 0 0 1 2 3 0 0 } } }"
+ "T{ slice { from 0 } { to 5 } { seq { 0 0 1 2 3 0 0 } } }"
}
} ;
! A slice of another sequence.
TUPLE: slice
-{ from integer read-only }
-{ to integer read-only }
+{ from read-only }
+{ to read-only }
{ seq read-only } ;
: collapse-slice ( m n slice -- m' n' seq )
INSTANCE: slice virtual-sequence
! One element repeated many times
-TUPLE: repetition { len integer read-only } { elt read-only } ;
+TUPLE: repetition { len read-only } { elt read-only } ;
: <repetition> ( len elt -- repetition )
over 0 < [ non-negative-integer-expected ] when