clone-like ( seq exemplar -- newseq )


Vocabulary
sequences

Inputs and outputs
seqa sequence
exemplara sequence
newseqa new sequence


Word description
Outputs a newly-allocated sequence with the same elements as seq but of the same type as exemplar.

Notes
Unlike like, this word always creates a new sequence which never shares storage with the original.

Definition
IN: sequences

GENERIC: clone-like ( seq exemplar -- newseq ) flushable


Methods
USING: sequences ;

M: immutable-sequence clone-like like ; inline


USING: kernel sequences sequences.private ;

M: sequence clone-like
[ dup length ] dip new-sequence [ 0 swap copy-unsafe ] keep
; inline