I'm interested in just how they were able to implement this scheme without
bypassing the type checking in Mesa -- particularly for "replaceable"
(read Simula/C++ "virtual") functions, and still not do any lookup/
type resolution at runtime.
Mike Caplinger
mi...@bellcore.arpa
ihnp4!bambi!mike
I've used Mesa (have an XDE machine next to me right now), but my reading
of the traits paper is that it was all done with mirrors, or more exactly,
managers. The paper never comes out and says there was any preprocessor
to Mesa code at all, and if there was, why not say so? So I think the traits
business was a discipline, programmer enforced, nothing more. But I would
like to know for sure.
-mark
--
Spoken: Mark Weiser ARPA: mark@maryland Phone: +1-301-454-7817
CSNet: mark@umcp-cs UUCP: {seismo,allegra}!umcp-cs!mark
USPS: Computer Science Dept., University of Maryland, College Park, MD 20742
I worked on the Xerox Star. Traits were indeed more than "mirrors" or
"programmer discipline". The traits mechanism was a true implementation of
multiple-inheritance subclassing. Yes, there was a pre-processor stage,
called Trait Analysis, which was run once for each version of Star which
introduced new classes, subclasses, or traits.
I'm hesitant to give out more details, since I don't have a copy of
the trade-secret agreement I signed with Xerox sitting in front of me.
I refer interested readers to the original Traits paper,
"Traits: An Approach to Multiple-Inheritance Subclassing", by
Curry, Baer, Lipkie, and Lee, in the Proceedings of the SIGOA Conference
on Office Information Systems, 1982, ACM order number 611820. The
article itself is ACM 0-89791-075-3/82/006/0001.
-- Bob Weissman
G.WEI...@SU-SCORE.ARPA
...!well!rlw