Function MAKE-SEQUENCE
make-sequence result-type size &key initial-element => sequence
result-type - sequenceの型指定子
size - 非負の整数
initial-element - オブジェクト。デフォルトは実装依存。
sequence - 正常なシーケンス
型がresult-type、長さがsize、各要素がinitial-elementで初期化された、 シーケンスが返却されます。
もしresult-typeがlistのサブタイプの場合、 リストが返却されます。
もしresult-typeがvectorのサブタイプの場合、 実装がresult-typeを要素の型として決めることができるのであれば、 その要素の型をアップグレードした結果が返却値の配列の要素の型になります。 しかし実装が要素の型を決定できないか、あるいは*のときは、 返却値の配列の要素の型はtになります。 その他の場合はエラーが発生します。
(make-sequence 'list 0) =>  ()
(make-sequence 'string 26 :initial-element #\.) 
=>  ".........................."
(make-sequence '(vector double-float) 2
               :initial-element 1d0)
=>  #(1.0d0 1.0d0)
(make-sequence '(vector * 2) 3) should signal an error
(make-sequence '(vector * 4) 3) should signal an error実装。
initial-elementが、 返却値のsequenceに格納できないオブジェクトであったときの結果は不明です。
result-typeが、 listのサブタイプでも、 vectorのサブタイプでもないとき、 型type-errorのエラーが発します。
result-typeで指定した要素数とsizeの値が違う場合は、 型type-errorのエラーが発します。
(make-sequence 'string 5) == (make-string 5)