![[LISPWORKS]](/image.pl?url=http%3a%2f%2fwww.lispworks.com%2fdocumentation%2fHyperSpec%2fBody%2f..%2fGraphics%2fLWSmall.gif&f=jpg&w=240)
![[Common Lisp HyperSpec (TM)]](/image.pl?url=http%3a%2f%2fwww.lispworks.com%2fdocumentation%2fHyperSpec%2fBody%2f..%2fGraphics%2fCLHS_Sm.gif&f=jpg&w=240)
Supertypes:
Description:
Thetype of anarray that is not displaced to anotherarray, has nofill pointer, and is notexpressly adjustable is asubtype oftypesimple-array. The concept of asimple array exists to allow the implementation to use a specialized representation and to allow the user to declare that certain values will always besimple arrays.
Thetypessimple-vector,simple-string, andsimple-bit-vector aredisjointsubtypes oftypesimple-array, for they respectively mean(simple-array t (*)), the union of all(simple-arrayc (*)) for anyc being asubtype oftypecharacter, and(simple-array bit (*)).
Compound Type Specifier Kind:
Specializing.
Compound Type Specifier Syntax:
simple-array[{element-type |*} [dimension-spec]]
dimension-spec::= rank |* | ({dimension |*}*)Compound Type Specifier Arguments:
dimension---avalid array dimension.
element-type---atype specifier.
rank---a non-negativefixnum.
Compound Type Specifier Description:
Thiscompound type specifier is treated exactly as the correspondingcompound type specifier fortypearray would be treated, except that the set is further constrained to include onlysimple arrays.
Notes:
It isimplementation-dependent whetherdisplaced arrays,vectors withfill pointers, or arrays that areactually adjustable aresimple arrays.
(simple-array *) refers to allsimple arrays regardless of element type,(simple-arraytype-specifier) refers only to thosesimple arrays that can result from givingtype-specifier as the:element-type argument tomake-array.