Classbox/Rの参考になるかもと思い、 CommonLispのパッケージについて学ぶ。
が、こちらは結局はシンボルの名前空間に過ぎない(こういう時は総称関数がうらやましい)ので、 あまり参考にはならなかった。が、名前空間というのはいろいろ難しい問題をはらんでいる ということは分かった。
Put in seven extremely random user interface commands
だっけか(CLtL「パッケージ」の章参照)。 結論としては、「CommonLispのパッケージ管理の仕様は複雑過ぎて使いにくい」。
Javaのパッケージ名にドメイン名を含めるというのは秀逸なアイディアだと思う。 ユニーク性が保証されたパッケージ名を簡単に用意できるから。 逆順だし見栄えはあんまり良くないけど。
Pythonのファイルごと別々の名前空間という仕様も優れた点が多いと思う。 Rubyでは、どういう風にファイル分割するのかは、名前空間とは独立に 自分で決めたいという理由で今のようになっているのだが、 ある意味制約されたPythonの方が一般的なケースでは使いやすいかも。