📑 Table of Contents

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

edit

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 fully able to clone and extend itself. This is accomplished by special methods named cloning methods and mixin methods.

Agora has been implemented in C++, Java, Scheme, and Smalltalk. Agora98, the latest implementation of Agora, done in Java, allows full access to all Java application programming interfaces (APIs), including the ability to create Java applets from within Agora98. From the language viewpoint, Agora98 is a considerable simplification of prior Agora versions.

References

edit
  • 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.
edit

📚 Artikel Terkait di Wikipedia

List of programming languages

(Haystack) AdvPL Agda Agilent VEE (Keysight VEE) Agora AIMMS Aldor Alef Algebraic Logic Functional programming language (ALF) ALGOL 58 ALGOL 60 ALGOL 68 ALGOL W

Agora (disambiguation)

up agora in Wiktionary, the free dictionary. Agora is a general name for a public meeting place in ancient Greece. Agora may also refer to: Agora (film)

List of programming languages by type

list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can be in multiple

Self (programming language)

Self is a general-purpose, high-level, object-oriented programming language based on the concept of prototypes. Self began as a dialect of Smalltalk, being

List of object-oriented programming languages

This is a list of notable programming languages with features designed for object-oriented programming (OOP). The listed languages are designed with varying

Prototype-based programming

Prototype-based programming is a style of object-oriented programming in which behavior reuse (known as inheritance) is performed via a process of reusing

List of C-family programming languages

Notable programming sources use terms like C-style, C-like, a dialect of C, having C-like syntax. The term curly bracket programming language denotes

AGORA

AGORA is one of the five programs within Research4Life, a public-private partnership providing free or low-cost access to scientific and professional