Next: , Previous: , Up: ASDFがシステムを探す場所を設定する   [Contents][Index]


8.2 Truenames and other dangers

初期の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の古典です。