[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Object oriented programming in Scheme
... I'd like
to hear from anybody who has tried to implement major T facilities (namely:
object/operation facility) in MacScheme.
We have been experimenting with an object system based on T's. We have a
prototype implementation which we are evaluating, and we hope to have
something interesting to say in a few months. If all goes well, there is
some chance we will make source available for a sample implementation.
For those not familiar with the T object system: I eschew zealotry, but I
find the T approach (roughly closures + dispatch) more in the Scheme spirit
than anything in the Flavors family. Our changes to the T object system
are intended to make reasonably fast implementions possible. I would
consider an implementation reasonably fast if time to send a message, do
the method lookup, and pass control to the method, is less than the cost of
2 procedure calls in the worst case.
Our prototype is almost portable Scheme. We also have a faster version
that is quite specific to MacScheme. In a single, simple-minded benchmark,
compared to Ulrich's SCOOPS for MacScheme: the slow version is 20% the
speed, the faster version 2 or 3 times the speed (that's 5 procedure call
times). I would guess that, a few lines of assembly code, in a few key
places, are needed to make the MacScheme version "reasonably fast."
Computer Research Lab