]> gitweb.factorcode.org Git - factor.git/commitdiff
Refactor circular-slice, gb, step-slice using wrapped-sequence
authornomennescio <nomennescio@factorcode.org>
Tue, 10 Oct 2023 06:53:27 +0000 (08:53 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 13 Oct 2023 16:09:31 +0000 (09:09 -0700)
basis/grouping/grouping.factor
extra/gap-buffer/gap-buffer.factor
extra/sequences/extras/extras.factor

index de862fff7f50d5b9083cab69f5ae4bbc93647c60..30e40478d18339615ba558da235f8bff9d049b34 100644 (file)
@@ -90,7 +90,7 @@ TUPLE: circular-slice
     { to integer read-only }
     { seq read-only } ;
 
-INSTANCE: circular-slice virtual-sequence
+INSTANCE: circular-slice wrapped-sequence
 
 M: circular-slice equal? over circular-slice? [ sequence= ] [ 2drop f ] if ;
 
@@ -98,8 +98,6 @@ M: circular-slice hashcode* [ sequence-hashcode ] recursive-hashcode ;
 
 M: circular-slice length [ to>> ] [ from>> ] bi - ; inline
 
-M: circular-slice virtual-exemplar seq>> ; inline
-
 M: circular-slice virtual@
     [ from>> + ] [ seq>> ] bi [ length rem ] keep ; inline
 
index 33503cb4f13c40b245b2f46e1f414cbe822b482d..a0efa5c1c3ccd6a73b263cc6c0ae273cf228c5a6 100644 (file)
@@ -74,9 +74,7 @@ ERROR: index-out-of-bounds index gap-buffer ;
 
 M: gb virtual@ ( n gb -- n seq ) [ position>index ] keep seq>> ;
 
-M: gb virtual-exemplar seq>> ;
-
-INSTANCE: gb virtual-sequence
+INSTANCE: gb wrapped-sequence
 
 ! ------------- moving the gap -------------------------------
 
index 10bf6c36a8501478ed9e235951c0d9f0af203a7f..3d39c6f7a8022058e9a0cca7689c11656bfa7632 100644 (file)
@@ -1046,8 +1046,6 @@ TUPLE: step-slice
     seq dup slice? [ collapse-slice ] when
     step step-slice boa ;
 
-M: step-slice virtual-exemplar seq>> ; inline
-
 M: step-slice virtual@
     [ step>> * ] [ from>> + ] [ seq>> ] tri ; inline
 
@@ -1056,7 +1054,7 @@ M: step-slice length
     dup 0 < [ [ neg 0 max ] dip neg ] when /mod
     zero? [ 1 + ] unless ; inline
 
-INSTANCE: step-slice virtual-sequence
+INSTANCE: step-slice wrapped-sequence
 
 : 2nested-each* ( seq1 seq-quot: ( n -- seq ) quot: ( a b -- ) -- )
     '[