Agora (programming language)

Agora (programming language)

Agora is a reflective, prototype-based, object-oriented programming language that is based exclusively on message passing and not delegation. Agora was intended to show that even subject to that limit, it is possible to build a full object-oriented language that features inheritance, cloning and reflective operators.

Overview

The idea is that an object is fully encapsulated and can only be subject to message passing. But seen from the inside of the object, the object knows all about its own structures. It is therefore perfectly capable of cloning and extending itself. This is accomplished by special methods called "cloning" methods and "mixin" methods.

Agora98, the latest implementation of Agora, is done in Java and allows full access to all Java APIs, including the ability to create applets from within Agora98. From the language point of view, Agora98 is a considerable simplification of prior Agora versions.

References

* "Agora98: Reflective Programming in a Web Browser", Submitted to ECOOP98.
* "A Marriage of Class- and Object-Based Inheritance Without Unwanted Children", Proceedings of ECOOP'95, Springer-Verlag 1995.
* "Agora: Message Passing as a Foundation for Exploring OO Language Concepts", SIGPLAN Notices, 29(12):48-57, December 1994.
* "Modular Inheritance of Objects Through Mixin-Methods", JMLC'94 Proceedings.
* "Nested Mixin-methods in Agora", Proceedings of ECOOP93, Springer-Verlag, 1993.

External links

* [http://prog.vub.ac.be/research/agora/ Agora home page]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Self (programming language) — Infobox programming language name = Self paradigm = object oriented prototype based year = 1986 designer = David Ungar, Randall Smith developer = David Ungar, Randall Smith, Stanford University, Sun Microsystems latest release version = 4.3… …   Wikipedia

  • Object-oriented programming language — An object oriented programming language (also called an OO language ) is one that allows or encourages, to some degree, object oriented programming techniques such as encapsulation, inheritance, modularity, and polymorphism. Simula (1967) is… …   Wikipedia

  • Agora (disambiguation) — The term agora may refer to: * Agora, an architectonic form typical of the ancient Greek markets * Israeli agora, an Israeli currency unit * Agora (agorism), The term agora is also used by agorists to describe an open free market place where… …   Wikipedia

  • List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • Prototype-based programming — is a style of object oriented programming in which classes are not present, and behavior reuse (known as inheritance in class based languages) is performed via a process of cloning existing objects that serve as prototypes. This model can also be …   Wikipedia

  • Web Ontology Language — OWL Web Ontology Language Current Status Published Year Started 2002 Editors Mike Dean, Guus Schreiber Base Standards Resource Description Framework, RDFS Domain Semantic Web A …   Wikipedia

  • Richard Stallman — Richard Matthew Stallman Richard Stallman at the University of Pittsburgh 2010 Born March 16, 1953 (1953 03 16) (age 58) New York City, New York …   Wikipedia

  • Line Mode Browser — displaying the German Wikipedia Original author(s) …   Wikipedia

  • Liste des langages de programmation — Le but de cette Liste des langages de programmation est d inclure tous les langages de programmation existants, qu ils soient actuellement utilisés ou historiques, par ordre alphabétique. Ne sont pas listés ici les langages informatiques de… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”