原です。

ちょっと大胆な Subject にしてしまいました。

In message "[ruby-list:13490] Re: Ruby and LISP ( was Re: Ruby anywhere )"
    on 99/04/08, Shugo Maeda <shugo / netlab.co.jp> writes:
|
|前田です。

|> 数値の場合に、「値」をオブジェクトと同義に考えたくなるのはわかりますが、
|> 多数のフィールドを持つオブジェクトも「値」と呼ぶのかしら…。
|
|少なくともRubyにおいて「式の値」とか「変数の値」という場合には、
|すべてのオブジェクトが値になりうるのではないかと思います。

私も値が既にオブジェクトそのものであるという考えでいけるのでは
ないかと思います。Fixnum の様な primitive なものか否かの区別な
く。

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

つまり、「オブジェクトの先頭アドレス」みたいなイメージをきれい
さっぱり捨ててしまうわけです。ただし Object#dup のことなどを考
えると「ネットワークの始点」の様な概念は必要になりますが。