]> gitweb.factorcode.org Git - factor.git/commitdiff
Refactor repeating,snipped using sequence-view
authornomennescio <nomennescio@factorcode.org>
Sat, 7 Oct 2023 04:48:35 +0000 (06:48 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 13 Oct 2023 16:09:30 +0000 (09:09 -0700)
extra/sequences/repeating/repeating.factor
extra/sequences/snipped/snipped.factor

index 3a66617bf4a5b45ab1c46ffddfeb0b01c11b62fe..71c0c5f7c9751a74807cc38798a409feb3d2e78e 100644 (file)
@@ -27,8 +27,7 @@ M: cycles virtual-exemplar circular>> ;
 
 INSTANCE: cycles virtual-sequence
 
-TUPLE: element-repeats
-{ seq sequence read-only }
+TUPLE: element-repeats < sequence-view
 { times integer read-only } ;
 
 C: <element-repeats> element-repeats
@@ -37,11 +36,7 @@ M: element-repeats length [ seq>> length ] [ times>> ] bi * ;
 
 M: element-repeats virtual@ [ times>> /i ] [ seq>> ] bi ;
 
-M: element-repeats virtual-exemplar seq>> ;
-
 INSTANCE: element-repeats immutable-sequence
 
-INSTANCE: element-repeats virtual-sequence
-
 : repeat-elements ( seq times -- new-seq )
     dupd <element-repeats> swap like ;
index 40fdd93c12c58fa1b243c4a3c684389f88759f38..b4adacf0b3eaffc2dab4b3c239b34bbce5d6d312 100644 (file)
@@ -3,8 +3,7 @@
 USING: accessors kernel math math.order sequences ;
 IN: sequences.snipped
 
-TUPLE: snipped
-{ seq sequence read-only }
+TUPLE: snipped < sequence-view
 { from integer read-only }
 { length integer read-only } ;
 
@@ -19,7 +18,3 @@ M: snipped length [ seq>> length ] [ length>> ] bi [-] ;
 M: snipped virtual@
     [ [ from>> dupd >= ] keep [ length>> + ] curry when ]
     [ seq>> ] bi ;
-
-M: snipped virtual-exemplar seq>> ;
-
-INSTANCE: snipped virtual-sequence