From 7ce33839919485fa70f2ac825543a73bbb27725c Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sun, 14 Aug 2022 19:29:05 -0500 Subject: [PATCH] sequences.extras: Make a for issue #745. Testing out naming conventions. zip-index is the word name that does it immediately could create a virtual sequence virtual-zip-index is the tuple class name to not conflict --- extra/sequences/extras/extras-tests.factor | 4 ++++ extra/sequences/extras/extras.factor | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/extra/sequences/extras/extras-tests.factor b/extra/sequences/extras/extras-tests.factor index 23100570db..185ad060df 100644 --- a/extra/sequences/extras/extras-tests.factor +++ b/extra/sequences/extras/extras-tests.factor @@ -296,3 +296,7 @@ tools.test vectors vocabs ; ] unit-test { { -1 2 -3 4 -5 } } [ { 1 2 3 4 5 } [ odd? ] [ neg ] map-if ] unit-test + +{ { { 100 0 } { 200 1 } { 300 2 } { 400 3 } } } [ + { 100 200 300 400 } >array +] unit-test diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 24561f9146..fbe65dc2ee 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -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: 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 -- 2.34.1