User Tools


System Class VECTOR

Class Precedence List

vector, array, sequence, t

Description

Any one-dimensional array is a vector.

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

The type (vector t), the type string, and the type bit-vector are disjoint subtypes of 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 {\secref\ArrayUpgrading}.

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

{\secref\RequiredSpecializedArrays}, {\secref\SharpsignLeftParen}, {\secref\PrintingOtherVectors}, {\secref\SharpsignA}

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.

\issue{ARRAY-DIMENSION-IMPLICATIONS:ALL-FIXNUM} \issue{ARRAY-TYPE-ELEMENT-TYPE-SEMANTICS:UNIFY-UPGRADING}