This report is about simulation of object-oriented concepts
and mechanisms in the programming language Scheme.
The report addresses the subject from both a technical
and a pedagogical point of view.
It is assumed that the reader is familiar with Scheme
as well as with the fundamentals of object-oriented programming.
As observed in [2], Scheme is nearly an object-oriented programming language. Procedures in Scheme have the power to represent objects (with time-dependent state) together with a protocol of operations, which may be used to manipulate the object.
Although much research has been, and still is, centered around object-oriented concepts and mechanisms, there are many issues that are not fully explored. The simulation approach described in this report represents one particularly easy way to explore new mechanisms. Besides that, I just find it fascinating to play around with object-oriented concepts and mechanisms in an ``elastic'' language like Scheme. Scheme is, in my opinion, an excellent ``object-oriented playground''.
In the rest of this introductory chapter I will first more carefully
discuss strengths and weaknesses of the programming language Scheme,
from the perspective of simulation of object-oriented concepts and
mechanism. Next in section , I will compare the
``simulation'' strategy with the more well-known ``compilation'' and
``interpretation'' strategies. Section
contains a brief
description of related Scheme-oriented work, and section
contains an outline and a summary of the rest of the report.