The Art of the Metaobject Protocol

The Art of the Metaobject Protocol (AMOP) は 1991年に当時Xerox PARCの研究者であった Gregor Kiczales、Jim des Rivieres、Daniel G. Bobrow らによって著されたメタオブジェクトプロトコルについての著作である。  

 概要 

本書は、メタオブジェクトプロトコルとは何か、なぜそれが望まれるのかの解説に加え、巻末には多くのCommon Lisp処理系がオブジェクトシステムの拡張としてサポートしているメタオブジェクトプロトコルの事実上の標準仕様が含まれているThe Art of the Metaobject Protocol, Chapters 5 and 6 in Hypertext 

この本で定義されているようなオブジェクトシステムとメタオブジェクトプロトコルのより完全で移植性の高い実装は、Xerox PARCによってPortable CommonLoopsとして提供された。  
現在主要なCommon Lisp処理系の多くは、Portable CommonLoopsを基盤にしたり部分的に取り込み発展してきている。

本書では、「Closette」と呼ばれるCommon Lispのための単純化されたCLOS実装を紹介しているが、教育的な簡潔さのために、スーパークラスの前方参照、クラスとメソッドの再定義の完全なサポート、高度なユーザ定義のメソッドコンビネーション、オブジェクトシステムのクラスとCommon Lispの型システムとの統合などの、より複雑かつCLOSにおいて特徴的とされる機能は含んでいない。加えて、Closetteの目標は、超循環評価器の原理の応用としてメタオブジェクトプロトコルの基本的な力と表現力や柔軟性を簡潔に実証することであり、コンパイル技術の適用とほとんどのエラーチェックのサポートを欠いている等、実用を目的としていない。

1997年のOOPSLAでの講演で、アラン・ケイは本書を「この10年間で著されたものでは最高の本」と賞賛し、「オブジェクト指向プログラミングについての最も深い洞察と、最も実用的な洞察のいくつかが含まれている」と述べたが、非常にLisp中心でCLOSに特化して記述されている点については「ほとんどの人には読みにくい本。Lisp文化に馴染がないのであれば、読むのは非常に難しい」という懸念も述べているOOPSLA 1997での基調講演、The Computer Revolution hasn't happened yet. Alan Kay, October 1997 。

 参照 

Category:コンピュータの文献
Category:コンピュータ言語