The DOI matches its Crossref record.
The Art of the Metaobject Protocol
Abstract
The authors introduce this new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. The CLOS metaobject protocol is an elegant, high-performance extension to the CommonLisp Object System. The authors, who developed the metaobject protocol and who were among the group that developed CLOS, introduce this new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. Kiczales, des Rivières, and Bobrow show that the "art of metaobject protocol design" lies in creating a synthetic combination of object-oriented and reflective techniques that can be applied under existing software engineering considerations to yield a new approach to programming language design that meets a broad set of design criteria. One of the major benefits of including the metaobject protocol in programming languages is that it allows users to adjust the language to better suit their needs. Metaobject protocols also disprove the adage that adding more flexibility to a programming language reduces its performance. In presenting the principles of metaobject protocols, the authors work with actual code for a simplified implementation of CLOS and its metaobject protocol, providing an opportunity for the reader to gain hands-on experience with the design process. They also include a number of exercises that address important concerns and open issues. Gregor Kiczales and Jim des Rivières, are Members of the Research Staff, and Daniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox Palo Alto Research Center.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cited by
When and how to develop domain-specific languages
Mernik, M., Heering, J., & Sloane, A. M. (2005) · ACM Computing Surveys · doi:10.1145/1118890.1118892 · Cited by 1,748
DECOR: A Method for the Specification and Detection of Code and Design Smells
Moha, N., Gueheneuc, Y.-G., Duchien, L., & Le Meur, A.-F. (2010) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2009.50 · Cited by 803
The Information Bus: an architecture for extensible distributed systems
Oki, B., Pfluegl, M., Siegel, A., & Skeen, D. (1993) · Proceedings of the fourteenth ACM symposium on Operating systems principles - SOSP '93 · doi:10.1145/168619.168624 · Cited by 401
On "Technomethodology": Foundational Relationships Between Ethnomethodology and System Design
Dourish, P., & Button, G. (1998) · Human-Computer Interaction · doi:10.1207/s15327051hci1304_2 · Cited by 307
Metadata
- Authors
- Kiczales, G., des Rivieres, J., & Bobrow, D. G.
- Venue
- The MIT Press eBooks
- Publisher
- The MIT Press
- Published
- 1991-07-30
- OpenAlex
- W68605010
- Cited by
- 689
- References
- 0
- FWCI
- 11.57
- Type
- book
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: The Art of the Metaobject Protocol. https://app.cochat.ai/papers/10.7551/mitpress/1405.001.0001
- The paper
- Kiczales, G., des Rivieres, J., & Bobrow, D. G. (1991). The Art of the Metaobject Protocol. The MIT Press eBooks. https://doi.org/10.7551/mitpress/1405.001.0001
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.