World Library  
Flag as Inappropriate
Email this Article

Agora (programming language)

Article Id: WHEBN0000933477
Reproduction Date:

Title: Agora (programming language)  
Author: World Heritage Encyclopedia
Language: English
Subject: Self (programming language), List of programming languages, List of object-oriented programming languages, Prototype-based programming, List of programming languages by type
Publisher: World Heritage Encyclopedia

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.


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.


  • 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

  • Agora home page
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.