Agora es un reflexivo , basado en prototipos , programación orientada a objetos lenguaje que se basa exclusivamente en el paso de mensajes y no delegación . Agora tenía la intención de mostrar que incluso sujeto a ese límite, es posible construir un lenguaje totalmente orientado a objetos que presenta herencias , clonación y operadores reflectantes .
Descripción general
La idea es que un objeto esté completamente encapsulado y solo pueda estar sujeto al paso de mensajes. Pero visto desde el interior del objeto, el objeto sabe todo sobre sus propias estructuras. Por tanto, es perfectamente capaz de clonarse y ampliarse. Esto se logra mediante métodos especiales llamados métodos de clonación y métodos mixin .
Agora98 , la última implementación de Agora, se realiza en Java y permite el acceso completo a todas las API de Java , incluida la capacidad de crear subprogramas desde Agora98. Desde el punto de vista del lenguaje, Agora98 es una simplificación considerable de las versiones anteriores de Agora.
Referencias
- Agora98: Programación reflexiva en un navegador web , enviado a ECOOP98.
- Un matrimonio de herencia basada en clases y objetos sin hijos no deseados , Actas de ECOOP'95, Springer-Verlag 1995.
- Agora: Message Passing as a Foundation for Exploring OO Language Concepts , SIGPLAN Notices, 29 (12): 48-57, diciembre de 1994.
- Herencia modular de objetos a través de métodos mixtos, Actas de JMLC'94.
- Métodos mixin anidados en Agora , Proceedings of ECOOP93, Springer-Verlag, 1993.