Agora (programming language): Difference between revisions

Content deleted Content added
Danakil (talk | contribs)
m ext links
Mike Storm (talk | contribs)
m typo, wikify a bit
Line 1:
'''Agora''' is a reflective, [[[prototype-based (programming)|prototype-based]], [[object-oriented (programming)|object-oriented]] [[programming language]] that is based exclusively on message passing and not delegation. Agora was intended to show that even subject to that limitation, it is possible to build a full-fledged 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 it's own structures. It is therefore perfectly capable of cloning and extending itself. This is accomplished by special methods called cloning methods and mixin-mixing methods.
 
[[Agora98]], the latest implementation of Agora, is done in [[Java]] and allows full access to all Java [[API']]s, including the ability to create [[Java applet|applets]] from within Agora98. From the language point of view, Agora98 is a considerable simplification of previous versions of Agora.
 
==References==