H ?
«
‹
←
→
›
»
Language peer sets for AGORA:
Belgium↑
Belgium/1993↑
Designed 1993 ↑
1990s languages ↑
Fifth generation↑
Post-Cold War↑
Genus Prototyping ↑
Specialised Languages ↑
Prototyping↑
Object-oriented↑
Generic ↑
Prototyping/1993↑
Object-oriented/1993↑
Generic/1993↑
Prototyping/Belgium↑
Object-oriented/Belgium↑
Generic/Belgium↑
Specialised Languages ↑
Specialised Languages/1993↑
Specialised Languages/be ↑
AGORA(ID:1794/ago001)
Reifying prototyping OO language
alternate simple view
Country: Belgium
Designed 1993
Genus: Prototyping
Sammet category: Specialised Languages
is a prototype-based language solely based on message passing ("reifying"), developed at the Programming Tech Lab of Brussels Free University, Dept. of Computer Science. It incorporates features like method based inheritance, reflection and encapsulated inheritance of objects, and has a clean formal foundation.
Structures:
References:
De Meuter (1993) De Meuter, Wolfgang "Nested Mixin-methods in Agora"
in [ECOOP] (1993) [ECOOP] ECOOP '93 Conference Proceedings, Kaiserslautern, Germany, July, 1993
De Meuter, Wolfgang (1994) De Meuter, Wolfgang "Agora: Message Passing as a Foundation for Exploring OO Language Concepts" pp48-57
in [SIGPLAN] (1994) SIGPLAN Notices 29(12) December 1994
De Meuter, Wolfgang (1994) De Meuter, Wolfgang "Modular Inheritance of Objects Through Mixin-Methods" JMLC'94 Proceedings
in [SIGPLAN] (1994) SIGPLAN Notices 29(12) December 1994
De Meuter (1995) De Meuter, Wolfgang "A Marriage of Class- and Object-Based Inheritance Without Unwanted Children"
in (1995) [ECCOP 95] Proceedings of ECOOP'95, Springer-Verlag 1995
De Meuter, Wolfgang (1995) De Meuter, Wolfgang "Agora: The Story of the Simplest MOP in the world - or - The Scheme of Object-Orientation"
in (1995) [ECCOP 95] Proceedings of ECOOP'95, Springer-Verlag 1995
De Meuter, Wolfgang; Mens, Tom; Steyaert, Patrick (1996) De Meuter, Wolfgang; Mens, Tom; Steyaert, Patrick "Agora: reintroducing safety in prototype-based languages"
Abstract
Extract:
Introduction
Extract:
Agora Language Definition
in Cointe, P. (1996) Cointe, P. editor, Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP), July 1996. LNCS 1098, Springer-Verlag
De Meuter, Wolfgang (1997) De Meuter, Wolfgang "Agora98: Reflective Programming in a Web Browser"
in Cointe, P. (1996) Cointe, P. editor, Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP), July 1996. LNCS 1098, Springer-Verlag
Resources
-
Agora page archived at WayBack Agora is a reflective prototype-based object-oriented programming language that is entirely (and solely!) based on message passing. Message passing is considered as one of the fundamental characteristics of object-oriented programming languages. It lies at the heart of late-binding polymorphism which is the key feature that makes incremental modification of programs possible. However, prototype-based languages often go beyond message passing. Deep down in their implementation, many things such as delegation, encapsulation, cloning and object concatenation can be found as explicit operations on objects. By making such languages reflective, these implementation operators also become visible to the programmer. As such, the programmer can easily bypass the message passing paradigm just by 'going meta'. Also, very often, these operators are an explicit feature in the language, even when reflection is not a language feature. We claim that these explicit operators on objects is the source of encapsulation problems, over-flexibility and the reason why it is so difficult to make abstractions in (reflective) prototype-based languages. We therefore designed Agora as a prototype-based object-oriented programming language whose only operation on objects is message passing. Agora shows that even within these limits, it is possible to build a full-fledged 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 it's own structures. It is therefore perfectly capable of cloning and extending itself. This is accomplished by special methods we call cloning methods and mixin-methods.
Search in:
Google
Google scholar
World Cat
Yahoo
Overture
DBLP
Monash bib
NZ
IEEE 
ACM portal
CiteSeer
CSB
ncstrl
jstor
Bookfinder
|