Function MAKE-PACKAGE
make-package
package-name &key
nicknames use => package
package-name - 文字列指定子
nicknames - 文字列指定子のリスト。デフォルトは空のリスト。
use - パッケージ指定子のリスト。デフォルトは実装依存。
package - パッケージ
packagen-nameという名前の新しいパッケージを作成します。
nicknamesは新しいパッケージを参照するときに使われる 追加の名前です。
useによって指定されたゼロか複数のパッケージの外部シンボルは 新しいパッケージによって継承されます。 use-package
関数をご確認ください。
make-package 'temporary :nicknames '("TEMP" "temp")) => #<PACKAGE "TEMPORARY">
(make-package "OWNER" :use '("temp")) => #<PACKAGE "OWNER">
(package-used-by-list 'temp) => (#<PACKAGE "OWNER">)
(package-use-list 'owner) => (#<PACKAGE "TEMPORARY">) (
なし。
システムにある他の既存のパッケージ
もしpackageがuseで存在しないものを示していたときの結果は指定されていません。
package-nameかnicknamesのどれかが すでに既存のパッケージの名前かニックネームであったときは、 修正可能なエラーが通知されます。
複数のパッケージがuse
されるような状況で 衝突が発生するシンボルを含んでいるとき、 最初に:use '()
でパッケージを作成し、 それからshadow
かshadowing-import
で 衝突した場所に対して使用し、 そのあと衝突が発生したものに対してuse-package
を 使う必要があります。
パッケージをプログラムによって動的に作成するのではなく、 プログラムの静的な宣言の部分として作成したいときは、 一般的に考えてmake-package
ではなくdefpackage
を 使うことがより文法的に適しています。