Everything about Metaobject
Object that manipulates, creates, describes, and implements other objects
In computer science, a metaobject is an object that manipulates, creates, describes, or implements objects. The object that the metaobject pertains to is called the base object. Some information that a metaobject might define includes the base object's type, interface, class, methods, attributes, parse tree, etc. Metaobjects are examples of the computer science concept of reflection, where a system has access to its own internal structure. Reflection enables a system to essentially rewrite itself on the fly, to alter its own implementation as it executes. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: MetaobjectA 5-minute orientation
- Pick up a classic book: The Interpretation of Object-Oriented Programming LanguagesThe most-reprinted book on the subject
- Read the landmark paper: A metaobject architecture for fault-tolerant distributed systems: the FRIENDS approachCited 78 times
- Go sideways: Common Lisp Object SystemA closely related topic
- Go sideways: Gregor KiczalesA closely related topic
📖 Definitions
Noun Any entity that manipulates, creates, describes, or implements others
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
A metaobject architecture for fault-tolerant distributed systems: the FRIENDS approach
Aspect-oriented programming using reflection and metaobject protocols
A metaobject protocol for C++
PCLOS: stress testing CLOS experiencing the metaobject protocol
Balancing theEuLisp metaobject protocol
Zero-overhead metaprogramming: reflection and metaobject protocols fast and without compromises
The art of the metaobject protocol
Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991)
📚 Books worth reading
The Interpretation of Object-Oriented Programming LanguagesIain Craig · 2000
Business Object Design and Implementation IIDilip Patel · 1998
The art of the metaobject protocolGregor Kiczales · 1991- 📕Art of the Metaobject ProtocolGregor Kiczales, Jim des Rivieres · 1991
- 📕MetaobjectJustin Ying Kwan Tsui · 2002
- 📕Open Implementations and Metaobject ProtocolsGeorge Kiczales, Andreas Paepcke · 1994
- 📕Open Implementations and Metaobject ProtocolsGeorge Kiczales, Andreas Paepcke · 1900
The art of the metaobject protocolGregor Kiczales · 1991
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Common Lisp Object System The Common Lisp Object System (CLOS) is the facility for object-oriented programming in ANSI Common Lisp. CLOS is a dynamic object system which differs…
- Gregor Kiczales Gregor Kiczales is an American Canadian computer scientist. He is currently a professor of computer science at the University of British Columbia in Vancouver…
- The Art of the Metaobject Protocol The Art of the Metaobject Protocol (AMOP) is a 1991 book by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow (all three working for Xerox PARC)…
- CommonLoops CommonLoops (the Common Lisp Object-Oriented Programming System; an acronym reminiscent of the earlier Lisp OO system "Loops" for the Interlisp-D system)…
- First-class citizen In a given programming language design, a first-class citizen is an entity which supports all the operations generally available to other entities. These…
- Class (programming) In programming, a class is a syntactic entity structure used to create objects. The capabilities of a class differ between programming languages, but generally…
- ObjVlisp ObjVlisp is a 1984 object-oriented extension of Vlisp–Vincennes LISP, a LISP dialect developed since 1971 at the University of Paris VIII – Vincennes.…
- Generic function In computer programming, a generic function is a function defined for polymorphism. In statically typed languages (such as C++ and Java), the term generic…