このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ολ計算:名前管理

名前管理の単位をモジュールとパッケージと呼ぶ。

  • 名前空間が単一のファイルに対応するとき、モジュールと呼ぶ。
  • 名前空間が単一のディレクトリに対応するとき、パッケージと呼ぶ。
  • パッケージはレコードインスタンスであり、フィールド名はファイル名で、フィールドの値はモジュール(のレコード)になる。
  • モジュールとパッケージの名前を収める名前空間となるディレクトリをライブラリディレクトと呼ぶ。ライブラリディレクトリがトップレベルの(無名の)パッケージとなる。
  • 複数のライブラリディレクトリをマージした構造を使うことができる。そのとき、複数のディレクトリを指定するリストをライブラリパスと呼ぶ。
  • ライブラリパスに見えている名前は、システム(処理系)のトップレベ名前空間にも見えている。
  • システムの予約語と、ベースパッケージに属するベースモジュール群は最初から使える=見える。
  • エンティティには、自分自身で持っている固有名と外部から指される呼称名がある。固有名は高々1つだが、呼称名はいくつでもよい。
  • 名前は名前空間で局所化され、名前空間自体も名前を持つ。名前空間の実体(エンティティ)はレコードである。
  • カレントの名前空間は無名だが、「無名の自分」を指す名前(無名物の呼称名)'_'があるので、'_'がカレントの名前空間のエンティティを意味する。
  • 裸の名前は、カレントの名前空間で解決される。