1 ! Copyright (C) 2018 John Benediktsson.
2 ! See https://factorcode.org/license.txt for BSD license.
4 USING: accessors kernel math math.order sequences
7 IN: sequences.interleaved
9 TUPLE: interleaved { seq read-only } { elt read-only } ;
11 C: <interleaved> interleaved
13 M: interleaved length seq>> length dup 1 - + 0 max ;
15 M: interleaved nth-unsafe
17 [ 2/ ] [ seq>> ] bi* nth-unsafe
22 M: interleaved like seq>> like ;
24 M: interleaved new-sequence seq>> new-sequence ;
26 INSTANCE: interleaved immutable-sequence