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.
Specializing.
size - a non-negative fixnum. element-type - a type specifier.
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.
{\secref\RequiredSpecializedArrays}, {\secref\SharpsignLeftParen}, {\secref\PrintingOtherVectors}, {\secref\SharpsignA}
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}