Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site well.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!pyramid!hplabs!well!rlw From: rlw@well.UUCP (Bob Weissman) Newsgroups: net.lang.st80,net.lang.c++ Subject: Re: Xerox Star "traits" Message-ID: <754@well.UUCP> Date: Tue, 11-Mar-86 15:03:30 EST Article-I.D.: well.754 Posted: Tue Mar 11 15:03:30 1986 Date-Received: Fri, 14-Mar-86 04:29:40 EST References: <296@bambi.UUCP> <185@umcp-cs.UUCP> Distribution: net Organization: Whole Earth Lectronic Link, Sausalito, CA Lines: 34 Xref: watmath net.lang.st80:328 net.lang.c++:78 Summary: Traits Exist The Traits Article Exists In article <185@umcp-cs.UUCP>, mark@umcp-cs.UUCP (Mark Weiser) writes: > In article <296@bambi.UUCP> mike@bambi.UUCP writes: > >Does someone know how the "traits" multiple-inheritance scheme was implemented > >on the Xerox Star? There are a couple of clues in the literature (see > >for example the paper in the '82 Siggraph proceedings) but the exact > >implementation details were "beyond the scope of this paper." Other > >papers mention something called a "traits manager", but don't say how it > >works. > > 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. 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.WEISSMAN@SU-SCORE.ARPA ...!well!rlw