Emacs Lisp: Sequence Type

By Xah Lee. Date: . Last updated: .

Here's a hierachy chart of elisp's most important list-like datatypes.

emas lisp sequence type
Most commonly used list-like data structure in elisp. (note: there's also char-table and bool-vector datatypes, which are sub-types of vector. They are more specialized.)

Note: “Sequence” and “Array” are not actual datatypes in elisp. They are grouping names for other actual datatypes.

List and Vector both hold a ordered sequence of values, each value can be any type.

Differences Between List and Vector

Here's the primary differences between List and Vector:

In short, list can grow or shorten, but if you have a long list, say 1 thousand items, getting the value of 900th item is slow.

Vector has fixed length. Getting the value of any element is fast.

Lisp Data Structure

List

Vector

Sequence (List, Vector)

Hash Table