]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/sequences/extras/extras.factor
sequences.extras: Make a <zip-index> for issue #745.
[factor.git] / extra / sequences / extras / extras.factor
index 24561f91460863cbd2daa829e5fb54385b1e0588..fbe65dc2ee477ef1e8bcbed358451a3d777c3b9c 100644 (file)
@@ -800,3 +800,14 @@ INSTANCE: step-slice virtual-sequence
         new-resizable
         [ [ push ] curry compose 3nested-each ] keep
     ] keep like ; inline
+
+TUPLE: virtual-zip-index seq ;
+
+C: <zip-index> virtual-zip-index
+
+M: virtual-zip-index length seq>> length ; inline
+
+M: virtual-zip-index nth-unsafe
+    over [ seq>> nth-unsafe ] [ 2array ] bi* ; inline
+
+INSTANCE: virtual-zip-index immutable-sequence