vector (original) (raw)

ANSI Common Lisp 15 Arrays 15.2 Dictionary of Arrays

15.2.3 vector System Class

Class Precedence List:

vector,array,sequence,t

Description:

Any one-dimensional array is a vector.

The type vector is a subtype of type array; for all types x, (vector x) is the same as (array x (*)).

The type (vector t), the type string, and the type bit-vectorare disjoint subtypes of type vector.

Compound Type Specifier Kind:

Specializing.

Compound Type Specifier Syntax:

(vector [{element-type | *} [{size | *}]])

Compound Type Specifier Arguments:

size - a non-negative fixnum.

element-type - a type specifier.

Compound Type Specifier Description:

This denotes the set of specialized _vectors_whose element type and dimension match the specified values. Specifically:

If element-type is the symbol *,vectors are not excluded on the basis of their element type. Otherwise, only those vectors are included whose _actual array element type_is the result of upgrading element-type; see Section 15.1.2.1 Array Upgrading.

If a size is specified, the set includes only those vectors whose only _dimension_is size. If the symbol * is specified instead of a size, the set is not restricted on the basis of dimension.

See Also:

Section 15.1.2.2 Required Kinds of Specialized Arrays, Section 2.4.8.3 Sharpsign Left-Parenthesis, Section 22.1.3.7 Printing Other Vectors, Section 2.4.8.12 Sharpsign A

Notes:

The type (vector e s)is equivalent to the type (array e (s)).

The type (vector bit) has the name bit-vector.

The union of all types (vector C), where C is any subtype of character, has the name string.

(vector *) refers to all _vectors_regardless of element type, (vector type-specifier)refers only to those _vectors_that can result from giving type-specifier as the:element-type argument to make-array.

Allegro CL Implementation Details:

None.