GNU Info

Info Node: (elisp)Sequence Type

(elisp)Sequence Type


Next: Cons Cell Type Prev: Symbol Type Up: Programming Types
Enter node , (file) or (file)node

Sequence Types
--------------

   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, vectors, char-tables and
bool-vectors.  Vectors can hold elements of any type, but string
elements must be characters, and bool-vector elements must be `t' or
`nil'.  Char-tables are like vectors except that they are indexed by
any valid character code.  The characters in a string can have text
properties like characters in a buffer (Note: Text Properties), but
vectors do not support text properties, even when their elements happen
to be characters.

   Lists, strings and the other array types 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.  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.  Note: Sequences Arrays Vectors.

   It is generally 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'.


automatically generated by info2www version 1.2.2.9