でも最初は「すげー」と思ったけどどういうときに役に立つんだろう。すべての基底クラス的なオブジェクトがあれば(仮にObjとする)、(defmethod method((x Obj) (y Foo) ...)で「レシーバが何かにかかわらず引数yがFooなら同じ処理」ってのができるわけなのだけど、それってFooのメソッドにすべきな気がするし。 カウンタを作った - 西尾泰和のはてなダイアリー たとえば、Wikipediaの例なんてどうでしょ。多重ディスパッチ - Wikipedia あと、CLOS系の多重ディスパッチの嬉しいところは、実行時に型をみてディスパッチしてくれるところらしいす。実際に使ったことない、というかHaskell Hackathonで使おうとして時間切れになった。細かい議論は下記のLingrのログがくわしい。 http://www.lingr.com/room/parsing/