# CLHS: Section 17.1

#

## 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

Copyright 1996-2005, LispWorks Ltd. All rights reserved.