Skip to main content

17.1 Sequence Concepts

A sequence is an ordered collection of elements, implemented as either a vector or a list.

Sequences can be created by the function make-sequence, as well as other functions that create objects of types that are subtypes of sequence (e.g., list, make-list, mapcar, and vector).

A sequence function is a function defined by this specification or added as an extension by the implementation that operates on one or more sequences. Whenever a sequence function must construct and return a new vector , it always returns a simple vector . Similarly, any strings constructed will be simple strings.

|

concatenate length remove

copy-seq map remove-duplicates count map-into remove-if

count-if merge remove-if-not count-if-not mismatch replace

delete notany reverse

delete-duplicates notevery search

delete-if nreverse some

delete-if-not nsubstitute sort

elt nsubstitute-if stable-sort

every nsubstitute-if-not subseq

fill position substitute

find position-if substitute-if

find-if position-if-not substitute-if-not find-if-not reduce

|

| :- |

Figure 17–1. Standardized Sequence Functions

17.1.1 General Restrictions on Parameters that must be Sequences

In general, lists (including association lists and property lists) that are treated as sequences must be proper lists.