原です。

どうも分かりません。

|この際、もう一歩踏み込んで参照関係にある全てのオブジェクトをま
|るごとひと塊と思って「オブジェクト」と定義してしまうのはどうで
|しょうか。すなわち参照を示す矢印のネットワークの連結成分を「オ
|ブジェクト」のアイデンティティーとしてしまう。そして「値」とは
|「オブジェクト」であると言ってしまっていいのではないかしら。

この考え方に問題があるのは感じているのですが、その前に参照
関係って何でしょう。うまく説明できません。例えば、

TheArray = []
class YaArray
  def push(x); TheArray.push x; end
  def e(i); TheArray[i]; end
end
foo = YaArray.new
foo.push("obj1")
foo.push("obj2")
p foo.e(0) #=> "obj1"
p foo.e(1) #=> "obj2"


このときオブジェクト foo は "obj1", "obj2" を参照していると
言っていいのでしょうか?参照している様にも見えるけど、単に参
照関係を横から見ているだけの様にも思えるし。

そもそもオブジェクトがオブジェクトを参照するってどういう定義
かしら。変数がオブジェクトを参照するのと、変数がオブジェクト
に束縛される(広義)ことは同値でしょうか?