ファイルのフォルダのように
名前の缶詰名(ライブラリ名)、型名(クラス名)、関数名、手続き名、変数名、など
すべての名前を局所化できるべきだと思う。
それぞれの段落で、開封した「名前の缶詰(語彙辞書)」が、
それぞれの段落での、一つのプログラミング環境を指定するような感じだろう。
プログラミングは、何らかの(複数可の)名前の缶詰(語彙空間)を輸入・利用して、
別の名前の缶詰(語彙空間)を定義・輸出する形式になる。
定義・輸出された名前の缶詰(語彙空間)は語彙空間の入れ子にされて管理されたり、
長い一意的な名前をつけられたり、
別の名前の缶詰(語彙空間)の輸出語彙の一部として再利用されたりできると良いと思う。
具体的には、次のように名前を定義してゆけるとよいと思う。
コード例:
「名前の缶詰2の定義コード[
・名前の缶詰1の中の名前の缶詰1の中の名前を参照する。
ただし、名前Aは名前AAと付け替えて利用する。
・名前Bを名前の缶詰2が提供する名前の一つと宣言する。
・名前Bの定義コード。
・名前Cの定義コード。
]定義終わり。」