User Tools


Function COPY-SEQ

Syntax

  • copy-seq sequencecopied-sequence

Arguments and Values

Description

Creates a copy of sequence. The elements of the new sequence are the same as the corresponding elements of the given sequence.

If sequence is a vector, the result is a fresh simple array of rank one that has the same actual array element type as sequence. If sequence is a list, the result is a fresh list.

Examples

(defparameter *str* "a string")

*STR*

*str*

"a string"

(equalp *str* (copy-seq *str*))

true

(eql *str* (copy-seq *str*))

false

Side Effects

None.

Affected By

None.

Exceptional Situations

Should be prepared to signal an error of type type-error if sequence is not a proper sequence.

See Also

Notes

From a functional standpoint:

(copy-seq x) ≡ (subseq x 0)

However, the programmer intent is typically very different in these two cases.