A sequence is a Lisp object that represents an ordered set of elements. There are two kinds of sequence in Emacs Lisp, lists and arrays. Thus, an object of type list or of type array is also considered a sequence.
Arrays are further subdivided into strings and vectors. Vectors can hold elements of any type, but string elements must be characters in the range from 0 to 255. However, the characters in a string can have text properties like characters in a buffer (see section Text Properties); vectors do not support text properties even when their elements happen to be characters.
Lists, strings and vectors are different, but they have important
similarities. For example, all have a length l, and all have
elements which can be indexed from zero to l minus one. Also,
several functions, called sequence functions, accept any kind of
sequence. For example, the function elt
can be used to extract
an element of a sequence, given its index. See section Sequences, Arrays, and Vectors.
It is impossible to read the same sequence twice, since sequences are
always created anew upon reading. If you read the read syntax for a
sequence twice, you get two sequences with equal contents. There is one
exception: the empty list ()
always stands for the same object,
nil
.
Go to the first, previous, next, last section, table of contents.