]> gitweb.factorcode.org Git - factor.git/commitdiff
Add wrapped-sequence that require instances to have a slot 'seq' that is a sequence
authornomennescio <nomennescio@factorcode.org>
Mon, 9 Oct 2023 22:27:48 +0000 (00:27 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 13 Oct 2023 16:09:31 +0000 (09:09 -0700)
core/sequences/sequences.factor

index f740ecaa09f019aa3956107755a0e4e98f99fcfa..b94957ea83dd66acef8c7dbc44fcd7902fbef074 100644 (file)
@@ -209,6 +209,12 @@ M: virtual-sequence new-sequence virtual-exemplar new-sequence ; inline
 
 INSTANCE: virtual-sequence sequence
 
+! all wrapped-sequence instances need to define a slot `seq` that is a sequence
+MIXIN: wrapped-sequence
+M: wrapped-sequence virtual-exemplar seq>> ; inline
+M: wrapped-sequence virtual@ seq>> ; inline
+M: wrapped-sequence length seq>> length ; inline
+INSTANCE: wrapped-sequence virtual-sequence
 TUPLE: sequence-view { seq sequence read-only } ;
 
 M: sequence-view virtual-exemplar seq>> ; inline