% Function MAKE-PACKAGE
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
を
使うことがより文法的に適しています。