Next: package-inferred-system拡張, Previous: defsystemの文法, Up: defsystemでシステムを定義する [Contents][Index]
.asdファイルは、load
で実行可能な通常のLispのソースファイルであり20、任意のLispコードを含むことができます。しかし、追加のフォームは最小限にとどめ、複雑な処理が必要な場合はdefsystem
の拡張を別に定義して:defsystem-depends-on
で読み込むことを推奨します。
とは言っても、.asdファイルにコードを含めなければならない場合もあるでしょう。例えば、コンパイル時の環境を調べて設定するために*features*
にフィーチャーを加える、などといったケースが考えられます。その場合は、ユーザーが.asdファイル中の処理の詳細をコントロールできるように、次の慣習に従うことを推奨します:
*standard-output*
に出力するべきです。(ただし、警告とエラーを除きます。それらはコンディションシステムが対処する領域です。)ASDFのオペレーション由来の出力を、ユーザーが容易に扱えるようにするためです。
[訳注] ただしこれは、load-system
で読み込むのとload
で読み込むのが同等、という意味ではありません。ASDFがシステム定義を.asdファイルから読み込むときはカレントパッケージが:asdf-user
になるなど、load
による実行と比べるといろいろな違いがあります。