[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.

    Lars Ericson
    ericson@csd16.nyu.edu

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."  

Norman Adams
Computer Research Lab
Tektronix Labs
-------