Function MAKE-PACKAGE

UP


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">)

副作用

なし。

影響

システムにある他の既存のパッケージ

例外

もしpackageuseで存在しないものを示していたときの結果は指定されていません。

package-namenicknamesのどれかが すでに既存のパッケージの名前かニックネームであったときは、 修正可能なエラーが通知されます。

参考

defpackage, use-package

備考

複数のパッケージがuseされるような状況で 衝突が発生するシンボルを含んでいるとき、 最初に:use '()でパッケージを作成し、 それからshadowshadowing-importで 衝突した場所に対して使用し、 そのあと衝突が発生したものに対してuse-packageを 使う必要があります。

パッケージをプログラムによって動的に作成するのではなく、 プログラムの静的な宣言の部分として作成したいときは、 一般的に考えてmake-packageではなくdefpackageを 使うことがより文法的に適しています。


TOP, Github