% 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
のみを参照します。