Simulation of Object-oriented Concepts and Mechanisms in Scheme

The theme of this report is simulation of new language constructs using an existing programming language. The purpose of the simulations is to get experience with the new constructs, not to implement a new programming language. The language constructs to be simulated belong to object-oriented programming languages. The implementation language of the simulations is Scheme.

The basic ideas behind simulations of object-oriented concepts and mechanisms in Scheme are summarized. This includes how to simulate class definitions, methods instantiation of classes, and message passing. It is demonstrated how classes can be organized in inheritance hierarchies, with both a single super class and with multiple superclasses. In particular, a new representation strategy of objects with multiple ``super parts'' is elaborated. Finally, it is demonstrated how metaclasses can be accounted for.