% Type SIMPLE-ARRAY
Type SIMPLE-ARRAY
この型の配列は、他の配列へのdisplacedではなく、
fill-pointerを持っておらず、adjustableでもないものが、
型simple-arrayのサブタイプです。
simple-arrayの考え方は、
実装が特別な表現を使用できるようにするためと、
ユーザーが特定の値を常にsimple-arrayにすることを
宣言できるようにするために存在します。
simple-vector, simple-string, simple-bit-vectorの型は、
互いに素であり、型simple-arrayのサブタイプです。
これらは、それぞれ(simple-array t (*))、
(simple-array c (*))のcは型characterのサブタイプの何か、
(simple-array bit (*))を意味します。
特定化
simple-array [{element-type | *} [dimension-spec]]
dimension-spec::= rank | * | ({dimension | *}*)
dimension - 有効な配列の大きさ
element-type - 型指定子
rank - 非負のfixnum
この合成された型指定子は、
正確に型arrayの合成された型指定子に
対応するものとして扱われますが、
これはsimple-arrayのみ含まれるという
より制約がある集合であることが違っています。
displacedの配列か、fill-pointerを持つvectorか、
実際にadjustableな配列が、simple-arrayかどうかは
実装依存です。
(simple-array *)は要素の型によらず全てのsimple-arrayを参照し、
(simple-array type-specifier)は
make-arrayの:element-type引数として指定されたtype-specifierの
結果のsimple-arrayのみを参照します。