Definition of a reflective kernel for a prototype-based language

  • Philippe Mulet
  • Pierre Cointe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 742)


We present the implementation of Moostrap, a reflective prototype-based language, the interpreter of which is written in Scheme. Moostrap is based on a reduced number of primitives, according to a previous work for denning a taxonomy for prototype-based languages.

Our purpose is to reify the behavior of any object through two steps: the slot lookup and its application. The first phase is reified thanks to behavioral metaobjects, and the second is managed by special objects, called slot-executants.

This kernel does not handle any implicit delegation at first. However, we introduce it, as a first extension of the basic language using a new behavioral meta-object.


Prototype Reflection Primitive Slot Creation Cloning Delegation Extensibility Behavior Meta-Object Self Smalltalk Scheme 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Coi87]
    Pierre Cointe. Meta-classes are First Class: the ObjVlisp Model. In Proceedings of OOPSLA'87, ACM Sigplan Notices, pages 156–167. Orlando, Florida, December 1987.Google Scholar
  2. [CMDM92]
    Pierre Cointe, Jacques Malenfant, Christophe Dony et Philippe Mulet. Etude de la réflexion de comportement dans le langage Self. Premières Journées Représentation par Objets (EC2), pages 213–224. La Grande Motte, 1992.Google Scholar
  3. [CUL89]
    Craig Chambers, David Ungar and Elgin Lee. An Efficient Implementation of SELF, a Dynamically-typed Object-Oriented Language Based on Prototypes. In Proceedings of OOPSLA'89, ACM Sigplan Notices, 24(10)49–70 1989.Google Scholar
  4. [DMC92]
    Christophe Dony, Jacques Malenfant and Pierre Cointe. Prototype-Based Languages: From a New Taxinomy to Constructive Proposals and Their Validation. In OOPSLA'92, pp 201–215. ACM Sigplan Notices V. 27 Number 17. Vancouver, 1992.Google Scholar
  5. [JF92]
    Stanley Jefferson, and Daniel P. Friedman. A Simple Reflective Interpreter. In Advance Proceedings of the IMSA '92 International Workshop on Reflection and Meta-Level Architecture, pp 48–58. Tokyo, 1992.Google Scholar
  6. [KRB91]
    Gregor Kiczales, Jim des Rivières and Daniel G. Bobrow. The Art of the MetaObject Protocol. The MIT Press. Cambridge, Massachusetts, 1991.Google Scholar
  7. [LS92]
    Sean Levy and Eswaran Subrahmanian. BOS: The Basic Object System, An Embeddable, Language-Independant Object System. Engineering Design Research Center, Carnegie Mellon University, 1992.Google Scholar
  8. [MCD91]
    Jacques Malenfant, Pierre Cointe and Christophe Dony. Reflection in Prototype-Based Object-Oriented Programming Languages In Informal Proceedings of the Second Workshop on Reflection Meta-Level Architectures on Object-Oriented Programming, OOPSLA'91. 1991.Google Scholar
  9. [MDC92]
    Jacques Malenfant, Christophe Dony and Pierre Cointe. Behavioral Reflection in a Protoype-Based Language. In Int'l Workshop on reflection and Meta-Level Architectures, pp 143–153, A. Yonezawa & B. Smith (editors), RISE and IP A (Japan) + ACM SIGPLAN, JSSST & IPS. Tokyo, 1992.Google Scholar
  10. [MR91]
    Philippe Mulet, Fred Rivard. Ultimardrev Self: Réalisation d'un Interprète du Langage Self en Smalltalk 80. Rapport du DEA LAP. Université de Paris VI, 1991.Google Scholar
  11. [Pae93]
    Andreas Paepcke. Object-Oriented Programming: The CLOS Perspective. The MIT Press. Cambridge, Massachusetts, 1993.Google Scholar
  12. [Sch89]
    Revised 3.99 Report on the Algorithmic Language Scheme. William Clinger and Jonathan Rees (Editors). 1989.Google Scholar
  13. [WH81]
    Patrick H. Winston, Berthold K.P. Horn. Lisp, Implementing Frames p.291-301. Addison-Wesley Publishing Company. 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Philippe Mulet
    • 1
  • Pierre Cointe
    • 1
  1. 1.Ecole des Mines de NantesNantes Cedex 04

Personalised recommendations