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.