FACTOID # 30: Finns are perhaps the world's greatest athletes, ranking first in medals per capita for Summer Olympics, and third for Winter Olympics.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Metaobject
Jump to: navigation, search

In computer science, a metaobject or meta-object is any entity that manipulates, creates, describes, or implements other objects. The object that the metaobject is about is called the base object. Some information that a metaobject might store is the base object's type, interface, class, methods, attributes, variables, functions, control structures, etc. Wikibooks Wikiversity has more about this subject: School of Computer Science Open Directory Project: Computer Science Downloadable Science and Computer Science books Collection of Computer Science Bibliographies Belief that title science in computer science is inappropriate Categories: Computer science ... In strictly mathematical branches of computer science the term object is used in a purely mathematical sense to refer to any thing. While this interpretation is useful in the discussion of abstract theory, it is not concrete enough to serve as a primitive in the discussion of more concrete branches... In object-oriented programming, a class consists of a collection of types of encapsulated instance variables and types of methods, possibly with implementation of those types together with a constructor function that can be used to create objects of the class. ... Used mainly in object-oriented programming, the term method refers to a piece of code that is exclusively associated either with a class (called class methods or static methods) or with an object (called instance methods). ...


A metaobject protocol (MOP) is an interpreter of the semantics of a program that is open and extensible. Therefore, a MOP determines what a program means and what its behavior is, but it is extensible in that a programmer (often called a meta-programmer) can alter the behavior by changing pieces of the MOP. The MOP exposes the internal structures of the program to the programmer. The MOP may manifest as a set of classes and methods that allow a program to inspect the state of the supporting system and alter its behaviour. MOPs are implemented as object-oriented programs where all objects are metaobjects. Interpreter can mean one of the following: In communication, an interpreter is a person whose role is to facilitate dialogue between two parties that do not use the same language. ... In information processing, a state is the complete set of properties (for example, its energy level, etc. ... Behavior or behaviour refers to the actions or reactions of an object or organism, usually in relation to the environment. ... Jump to: navigation, search In computer science, object-oriented programming, OOP for short, is a computer programming paradigm. ...


MOPs may be runtime or compile time. The metaobjects of runtime MOPs exist while the program itself is executed. The metaobjects of compile-time MOPs, however, exist only when the program is compiled. They may alter or extend the compilation process, but do not exist when the program is running. In computer science, run time (with a space, though often its spelled without one) describes the operation of a computer program, the duration of its execution, from beginning to termination (compare compile time). ... In computer science, compile time, as opposed to runtime, is the time when a compiler compiles code written in a programming language into an executable form. ...


Possibly the best-known runtime MOP is the one described in the book "The Art of the Metaobject Protocol"; it applies to the Common Lisp Object System and allows the mechanisms of inheritance, method dispatch, class instantiation and so on to be manipulated. The Common Lisp Object System, a powerful system for object_oriented programming which forms part of Common Lisp. ... In computer science, the term inheritance may be applied to a variety of situations in which certain characteristics are passed on from one context to another. ...


A good example of a compile-time MOP is OpenC++. OpenC++ is a software tool to parse and analyze C++ source code. ...


One example use of a MOP is to alter the implementation of multiple inheritance. There is the question how conflicting slots and methods of the superclasses are to be resolved. The language designers typically select one solution, and the language users must live with it. A metaobject protocol, on the other hand, makes it possible to change the rules of inheritance and choose a different solution for individual classes. Some programming languages allow multiple inheritance, in which a class can inherit behaviors and features from more than one superclass. ... In computer science, a superclass is a class from which other classes are derived. ...


A metaobject protocol is one way to implement aspect-oriented programming languages. Many of the early founders of MOPs, including Gregor Kiczales have since moved on to be the primary advocates for aspect-oriented programming. Jump to: navigation, search In software engineering, the programming paradigm of aspect-oriented programming (AOP), also called aspect-oriented software development (AOSD), attempts to aid programmers in the separation of concerns, or the breaking down of a program into distinct parts that overlap in functionality as little as possible. ... Gregor Kiczales is a professor of computer science at the University of British Columbia in Canada. ...


External links

  • The guile MOP specification (tiny clos)

References

  • Gregor Kiczales, Jim Des Rivieres, Daniel G. Bobrow: The Art of the Metaobject Protocol, MIT Press, ISBN 0262111586 or ISBN 0262610744

See also: Gregor Kiczales is a professor of computer science at the University of British Columbia in Canada. ...

OpenC++ is a software tool to parse and analyze C++ source code. ...

References

  • Definitions of metaobject
  • Metaobjects and the Metaobject Protocol

  Results from FactBites:
 
MOP: Concepts (7531 words)
The class of the new method metaobject is determined by calling generic-function-method-class on the result of the call to ensure-generic-function from the first step.
If the class metaobject was finalized before the call to reinitialize-instance, finalize-inheritance will be called again once all the initialization arguments have been processed and associated with the class metaobject.
The exact point at which finalize-inheritance is called depends on the class of the class metaobject; for standard-class it is called sometime after all the classes superclasses are defined, but no later than when the first instance of the class is allocated (by allocate-instance).
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.