]> gitweb.factorcode.org Git - factor.git/blobdiff - core/sequences/sequences.factor
Add wrapped-sequence that require instances to have a slot 'seq' that is a sequence
[factor.git] / 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