【入門】Common Lisp その6【質問よろず】at TECH
【入門】Common Lisp その6【質問よろず】 - 暇つぶし2ch99:デフォルトの名無しさん
09/04/09 19:29:08
>>98
すいません、わからない点があるのですが、

>総称関数はメッセージ名じゃないし
確かに総称関数の名前がメッセージ名では無いとすると、今までの私の指摘は当たらないことになります。
ですがそれならば、総称関数の名前はオブジェクト指向における何を表現しているのでしょうか?そしてどういう
名前が適切なのでしょうか?

updateが出たのでJavaのObserverパターンの実装を例に挙げます。Observableの実装は
どうでもよいとして、JavaのObserverの実装を機械的にCommon Lispに変換しますと

(defgeneric update (o obj arg))

になると思いますが、貴方の話ですとこの総称関数名はまずいということになります。
(クロージャで事足りるでしょうが、ここではそういう話はしてないのに注意してください)
クラス名をプレフィックスやサフィックスにしたり、クラス名のパッケージで包むという方法は考えられますが、
それは単一ディスパッチの言語に比べて冗長であるのは先に書いた通りです。

この場合、どのような名前が適切になりますか?

>既知の概念で理解できないものを否定して安心したがる心理は
多重ディスパッチや総称関数について一度も否定してません。
ただ総称関数だと上手く記述できない場面があるのではないか、という話をしているだけです。
これを否定と捉えて煽るのはちょっとひねくれすぎてるのではないかと。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch