ごとけんです

In message "[ruby-list:13872] Re: What is Object in Ruby? (Re: Ruby and LISP)"
    on 99/04/19, Shin-ichiro Hara <sinara / blade.nagaokaut.ac.jp> writes:
>原です。

>|# 僕は「破壊的」という言葉が定義できるかという点に興味を
>|# もって参加しています。
>私ももちろんその事にこだわっています。

よかった :-)

>|評価の結果は常にオブジェクトであるという表現には間違いは
>|ないですよね。だとすれば参照という言葉をわざわざ使う必要
>|もないかとも思います。
>
>そこの所はやはりちょっと揉めるんじゃないですか?なにせ
>戻ってきたのがオブジェクトだと言ってもどこまでが戻って
>きたのか?オブジェクトの*先頭部分だけ*という考えは、
>「参照が戻ってきた」というのとほとんど同じですよね。
>
>最初、複合オブジェクトが*根こそぎ*戻ってきたという考
>えていいじゃないかと思ったのだけど、*根こそぎ*の定義
>がまだうまくいってないわけです。ごとけんさんはその定義
>はできない、すべきでないという意見ですよね。

そうです。

いままでそこで揉める理由がわからなかったのですが、うえの
記述のおかげでオブジェクトに対する思い込み方が僕と原さん
のあいだでだいぶ違うような気がしました。僕のオブジェクト
感は端的にいうとメソッドに答えることを約束してるだけの存
在です。そういう意味では↓

>#とにかくオブジェクトが戻ってきた。もう何も聞かないで

と言い換えてもいいかも知れないです。いっぽう原さんのは、
引っ張ったらなにかずるずると出て来そうな構造を持った存在
という感じ…あくまで僕がそう感じるというコトですが、そん
なに外れてはないですよね??

>(7)変数と変数名
>
>  同じ変数名でも異なる変数を表現することがあります。一つの
>  変数名が一つの変数を表現する範囲を「スコープ」といいます。
>
>かなり不完全な(揉めそうな?)スコープの定義ですが。

とりあえずいいんじゃないですか。

>|インスタンス引数をもたない組み込みのクラスに関してはどう
>|なのでしょうか??  組み込みクラスとユーザー定義クラスで区
>|別を設けない方が望ましいと思います。
>
>私もそう思っています。素朴に Hash, Array などに基本的な
>参照関係を定義して、さらに「+ユーザー定義クラスのイン
>スタンス変数による参照」で帰納的に定義を広げるだけでも
>ある程度の成果はありそうです。

たしかにそうかも知れません。ただ何を参照してるかをクラス
実装者が宣言しないといけないところにちょっとした窮屈さを
感じます。

>もちろん数学的にきちんとした定義(モデル)を与えたいとい
>うのはその通りです。「破壊的」という言葉に関わっている意
>味での「参照」をきちんと定義したい。でも難しそう。
>
>私の目的はプラグマティカルには「人に文法を教える事」です。
>例えば学生に「破壊的」という言葉の定義を簡単に教え、そこ
>で、「じゃせんせーこの場合は破壊的?」とか突っ込んで来る、
>突っ込んで来れる所に全部突っ込んで来るような性格の悪い学
>生にすずしい顔をして答えたいわけです。(^^

なるほどお。そういう立場もわかります。ちなみに破壊的とは
何かに対する今の俺的解答はこう:それをやるのとやらないの
ではその後のオブジェクトの振る舞いが違う。

-- gotoken