From: John Benediktsson Date: Fri, 16 Feb 2018 16:40:57 +0000 (-0800) Subject: sequences.extra: make evens/odds virtual sequences. X-Git-Tag: 0.98~291 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=7203df015227c552f35003c1423af08f059cdf86 sequences.extra: make evens/odds virtual sequences. --- diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index adfcf15d93..4783342b71 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -388,28 +388,28 @@ C: evens M: evens length seq>> length 1 + 2/ ; inline -M: evens nth-unsafe [ 2 * ] [ seq>> nth-unsafe ] bi* ; inline +M: evens virtual@ [ 2 * ] [ seq>> ] bi* ; inline -M: evens like seq>> like ; - -M: evens new-sequence seq>> new-sequence ; +M: evens virtual-exemplar seq>> ; inline INSTANCE: evens immutable-sequence +INSTANCE: evens virtual-sequence + TUPLE: odds { seq read-only } ; C: odds M: odds length seq>> length 2/ ; inline -M: odds nth-unsafe [ 2 * 1 + ] [ seq>> nth-unsafe ] bi* ; inline +M: odds virtual@ [ 2 * 1 + ] [ seq>> ] bi* ; inline -M: odds like seq>> like ; - -M: odds new-sequence seq>> new-sequence ; +M: odds virtual-exemplar seq>> ; inline INSTANCE: odds immutable-sequence +INSTANCE: odds virtual-sequence + : until-empty ( seq quot -- ) [ dup empty? ] swap until drop ; inline