rename new -> new-sequence
parent
f7df948b06
commit
fafd00bae7
|
@ -12,9 +12,9 @@ M: array resize resize-array ;
|
|||
|
||||
: >array ( seq -- array ) { } clone-like ;
|
||||
|
||||
M: object new drop f <array> ;
|
||||
M: object new-sequence drop f <array> ;
|
||||
|
||||
M: f new drop dup zero? [ drop f ] [ f <array> ] if ;
|
||||
M: f new-sequence drop dup zero? [ drop f ] [ f <array> ] if ;
|
||||
|
||||
M: array like drop dup array? [ >array ] unless ;
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ M: bit-array clone (clone) ;
|
|||
|
||||
M: bit-array like drop dup bit-array? [ >bit-array ] unless ;
|
||||
|
||||
M: bit-array new drop <bit-array> ;
|
||||
M: bit-array new-sequence drop <bit-array> ;
|
||||
|
||||
M: bit-array equal?
|
||||
over bit-array? [ sequence= ] [ 2drop f ] if ;
|
||||
|
|
|
@ -22,7 +22,7 @@ M: bit-vector like
|
|||
[ dup length bit-array>vector ] [ >bit-vector ] if
|
||||
] unless ;
|
||||
|
||||
M: bit-vector new
|
||||
M: bit-vector new-sequence
|
||||
drop [ <bit-array> ] keep >fixnum bit-array>vector ;
|
||||
|
||||
M: bit-vector equal?
|
||||
|
|
|
@ -53,7 +53,7 @@ nl
|
|||
"." write flush
|
||||
|
||||
{
|
||||
new nth push pop peek
|
||||
new-sequence nth push pop peek
|
||||
} compile
|
||||
|
||||
"." write flush
|
||||
|
|
|
@ -10,7 +10,7 @@ M: byte-array nth-unsafe swap >fixnum alien-unsigned-1 ;
|
|||
M: byte-array set-nth-unsafe swap >fixnum set-alien-unsigned-1 ;
|
||||
: >byte-array ( seq -- byte-array ) B{ } clone-like ; inline
|
||||
M: byte-array like drop dup byte-array? [ >byte-array ] unless ;
|
||||
M: byte-array new drop <byte-array> ;
|
||||
M: byte-array new-sequence drop <byte-array> ;
|
||||
|
||||
M: byte-array equal?
|
||||
over byte-array? [ sequence= ] [ 2drop f ] if ;
|
||||
|
|
|
@ -22,7 +22,7 @@ M: byte-vector like
|
|||
[ dup length byte-array>vector ] [ >byte-vector ] if
|
||||
] unless ;
|
||||
|
||||
M: byte-vector new
|
||||
M: byte-vector new-sequence
|
||||
drop [ <byte-array> ] keep >fixnum byte-array>vector ;
|
||||
|
||||
M: byte-vector equal?
|
||||
|
|
|
@ -24,7 +24,7 @@ M: float-array set-nth-unsafe
|
|||
M: float-array like
|
||||
drop dup float-array? [ >float-array ] unless ;
|
||||
|
||||
M: float-array new drop 0.0 <float-array> ;
|
||||
M: float-array new-sequence drop 0.0 <float-array> ;
|
||||
|
||||
M: float-array equal?
|
||||
over float-array? [ sequence= ] [ 2drop f ] if ;
|
||||
|
|
|
@ -22,7 +22,7 @@ M: float-vector like
|
|||
[ dup length float-array>vector ] [ >float-vector ] if
|
||||
] unless ;
|
||||
|
||||
M: float-vector new
|
||||
M: float-vector new-sequence
|
||||
drop [ 0.0 <float-array> ] keep >fixnum float-array>vector ;
|
||||
|
||||
M: float-vector equal?
|
||||
|
|
|
@ -16,7 +16,7 @@ PRIVATE>
|
|||
M: sbuf set-nth-unsafe
|
||||
underlying >r >r >fixnum r> >fixnum r> set-string-nth ;
|
||||
|
||||
M: sbuf new drop [ 0 <string> ] keep >fixnum string>sbuf ;
|
||||
M: sbuf new-sequence drop [ 0 <string> ] keep >fixnum string>sbuf ;
|
||||
|
||||
: >sbuf ( seq -- sbuf ) SBUF" " clone-like ; inline
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ ARTICLE: "sequence-protocol" "Sequence protocol"
|
|||
"An optional generic word for creating sequences of the same class as a given sequence:"
|
||||
{ $subsection like }
|
||||
"Optional generic words for optimization purposes:"
|
||||
{ $subsection new }
|
||||
{ $subsection new-sequence }
|
||||
{ $subsection new-resizable }
|
||||
{ $see-also "sequences-unsafe" } ;
|
||||
|
||||
|
@ -281,7 +281,7 @@ HELP: immutable
|
|||
{ $description "Throws an " { $link immutable } " error." }
|
||||
{ $error-description "Thrown if an attempt is made to modify an immutable sequence." } ;
|
||||
|
||||
HELP: new
|
||||
HELP: new-sequence
|
||||
{ $values { "len" "a non-negative integer" } { "seq" sequence } { "newseq" "a mutable sequence" } }
|
||||
{ $contract "Outputs a mutable sequence of length " { $snippet "n" } " which can hold the elements of " { $snippet "seq" } "." } ;
|
||||
|
||||
|
|
|
@ -9,13 +9,13 @@ GENERIC: length ( seq -- n ) flushable
|
|||
GENERIC: set-length ( n seq -- )
|
||||
GENERIC: nth ( n seq -- elt ) flushable
|
||||
GENERIC: set-nth ( elt n seq -- )
|
||||
GENERIC: new ( len seq -- newseq ) flushable
|
||||
GENERIC: new-sequence ( len seq -- newseq ) flushable
|
||||
GENERIC: new-resizable ( len seq -- newseq ) flushable
|
||||
GENERIC: like ( seq exemplar -- newseq ) flushable
|
||||
GENERIC: clone-like ( seq exemplar -- newseq ) flushable
|
||||
|
||||
: new-like ( len exemplar quot -- seq )
|
||||
over >r >r new r> call r> like ; inline
|
||||
over >r >r new-sequence r> call r> like ; inline
|
||||
|
||||
M: sequence like drop ;
|
||||
|
||||
|
@ -162,7 +162,7 @@ M: virtual-sequence set-nth virtual@ set-nth ;
|
|||
M: virtual-sequence nth-unsafe virtual@ nth-unsafe ;
|
||||
M: virtual-sequence set-nth-unsafe virtual@ set-nth-unsafe ;
|
||||
M: virtual-sequence like virtual-seq like ;
|
||||
M: virtual-sequence new virtual-seq new ;
|
||||
M: virtual-sequence new-sequence virtual-seq new-sequence ;
|
||||
|
||||
INSTANCE: virtual-sequence sequence
|
||||
|
||||
|
@ -250,7 +250,7 @@ INSTANCE: repetition immutable-sequence
|
|||
dup 0 <= [ 2drop 2drop ] [ 1- ((copy)) (copy) ] if ; inline
|
||||
|
||||
: prepare-subseq ( from to seq -- dst i src j n )
|
||||
[ >r swap - r> new dup 0 ] 3keep
|
||||
[ >r swap - r> new-sequence dup 0 ] 3keep
|
||||
-rot drop roll length ; inline
|
||||
|
||||
: check-copy ( src n dst -- )
|
||||
|
@ -275,7 +275,7 @@ PRIVATE>
|
|||
(copy) drop ; inline
|
||||
|
||||
M: sequence clone-like
|
||||
>r dup length r> new [ 0 swap copy ] keep ;
|
||||
>r dup length r> new-sequence [ 0 swap copy ] keep ;
|
||||
|
||||
M: immutable-sequence clone-like like ;
|
||||
|
||||
|
|
|
@ -46,6 +46,6 @@ M: string resize resize-string ;
|
|||
|
||||
: >string ( seq -- str ) "" clone-like ;
|
||||
|
||||
M: string new drop 0 <string> ;
|
||||
M: string new-sequence drop 0 <string> ;
|
||||
|
||||
INSTANCE: string sequence
|
||||
|
|
|
@ -19,7 +19,7 @@ M: vector like
|
|||
dup array? [ dup length array>vector ] [ >vector ] if
|
||||
] unless ;
|
||||
|
||||
M: vector new drop [ f <array> ] keep >fixnum array>vector ;
|
||||
M: vector new-sequence drop [ f <array> ] keep >fixnum array>vector ;
|
||||
|
||||
M: vector equal?
|
||||
over vector? [ sequence= ] [ 2drop f ] if ;
|
||||
|
|
|
@ -17,6 +17,6 @@ PRIVATE>
|
|||
|
||||
: map-next ( seq quot -- newseq )
|
||||
! quot: next-elt elt -- newelt
|
||||
over dup length swap new >r
|
||||
over dup length swap new-sequence >r
|
||||
iterate-seq [ (map-next) ] 2curry
|
||||
r> [ collect ] keep ; inline
|
||||
|
|
Loading…
Reference in New Issue