Next: XDGベースディレクトリ, Previous: ソースレジストリの設定, Up: ASDFがシステムを探す場所を設定する [Contents][Index]
初期のASDFが導入した偉大な革新の1つは、ソースコードの場所やビルドを行う場所を決めるのにcl:truename
を活用したことでした。これによって(システム定義ファイルへの)シンボリックリンクを集めたディレクトリを管理の対象にできるようになりました。このメカニズムは単純ですが効果的であり、プログラムで扱うのが容易でした。ASDF 3は今なおこのスタイルをサポートしていますし、デフォルトで有効です。しかし我々は、以下で解説するソースレジストリの仕組みを代わりに使うことを推奨します。そちらのほうが特定のユーザー、処理系に依存しないポータブルな設定をするのが容易だからです。
また、truename
を嫌う人もいます。というのも、システムによってはtruename
はとても遅いし、また、いわゆる内容アドレス記憶装置(CAS, content-addressable storage)を使っている場合、ファイルのtruename
が指すのは個々のコンテンツのダイジェストであり、同じプロジェクト内の別のファイルではないからです。そこで、ASDF 3にはtruename
を避ける方法も用意されています: asdf:*resolve-symlinks*
にnil
をセットしてください。
PS: Vernor Vingeの短編 “True Names... and Other Dangers”(邦題: 『マイクロチップの魔術師』)を読んだことがない方は、きっと楽しめるでしょう。偉大なSFの古典です。