ごとけんです In message "[ruby-list:13808] Re: What is Object in Ruby? (Re: Ruby and LISP)" on 99/04/16, Shin-ichiro Hara <sinara / blade.nagaokaut.ac.jp> writes: >|まつもとさんが以前「状態」についていっていたのはそういう >|ことも含意するのだと理解しています。alternative な見方は >|メソッドの結果の可能性全体をもってそのオブジェクトの状態 >|とみなすものです。こちらは coalgebra という名前の分野で >|近年盛んに研究されていて、可能性全体をとることで一意性が >|保証されるのでこれもいいかもと思って僕は脇でみています。 > >coalgebra 自体は日常的な商売道具なのですが、それが一分野 >の名前になっているとは初耳です。 あー、分野というのはいいすぎかも知れないです。もっともあ る対象が分野を形成しているかどうかはパラダイム論でない限 り問う必要もないかも知れないけど。去年からワークショップ も開かれています。 # http://www.cs.kun.nl/~bart/coalg_worksh.html # http://www.elsevier.nl/locate/entcs/volume19.html > ここでの意味は、オブジェ >クトに対する全てのメッセージ(とパラメータ)に対する副作用 >と返り値の「表全体」をもってオブジェクトの状態と定義する、 >という感じでしょうか。非決定的だったら可能な状態を全部持っ >てきて決定的な議論に持ち込むという、いかにも超越的という >か数学的な態度ですね(つーか、数学なんだから当たり前か)。 まぁそんな感じです。ただ、この「表全体」というのを数学的 対象として構成できるかどうかが問題ですよね。coalgebra の 用語を使ってよいなら、データの構成の手順が induction に 対応するのに対して、オブジェクトの振る舞いの可能性は coinduction に対応するというのが解法です。データの場合は 状態をその構成手順で指定できるけれども、オブジェクトの場 合は、構成方法(実装)を知ることができないというのがひとつ の原理なので、こういう立場をとらざるを得ないというという 側面はあると思います。 >まつもとさんはもうちょっと気楽な感じが好みみたいだったけ >ど。:-) そうですね。だから coalgebra に基づく考え方は Ruby では alternative でしかないわけで :-) -- gotoken