CLOS とかの総称関数って、オブジェクト指向的記述においてメンバアクセス演算子の第一オペランド(あるいはメッセージング・パラダイムでなら「レシーバ」)を関数呼び出しの際の引数として特別扱いすることを他の引数についても“一般化”したクールなもの…って勝手に思いこんでいたけれど、よく考えたら、これってごく平凡なオーバーロード機構(もともとその手の機構を欠いた LISP にとっては実現にちょっと手間取っているけれど…)にすぎないんじゃないの?



…と、ふと思った。