Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The Impact of Xerox on Lanugage Design -- ... on Mesa

3 views
Skip to first unread message

SHRAGE@wharton-10

unread,
Jun 12, 1981, 7:58:33 PM6/12/81
to
Since Xerox will not be able to comment on Mesa permit me to explain, from an
outsider's viewpoint, a little about the motivation and specifics of that
system. All opinions herein are my own. All facts are quotes from one of
the following:

--- A brief Mesa bibliography

Mitchell, J.G. et al. Mesa Language Technical Report; CSL-79-3,
Xerox PARC. April 1979.

Geschke, C.M. et al. Early Experiences with Mesa. CACM 20, 8 Aug
1977. pgs 540-553

Lauer, H.C. and Satterthwaite, E.H. The Impact of Mesa on System
Design. Proceeding 4th int. conf. Software Eng. Munich 1979.

Horsley T.R and Lynch W.C, Pilot: A Software Engineering Case Study.
IEEE 1979 (detail location unknown -- I just have a xerox)

Tichy W.F., Software Development Based on Module Interconnection.
CMU. Also IEEE 1979 (probably the same source as above).
[This is only marginally Mesa related and discusses more
general concept including all sort of algol related languages]

Mitchell, J.G. et al. Mesa Language Manual, Xerox PARC Feb 1978. [I do
not know what relation this has to [1] above]

Lampson B.W. (who else?) and Redell D.D., Experience with Processes and
Monitors in Mesa. Proc. 7th symp on opsys prin.: Dec 1979

Mitchell J.G., Mesa: A Designer's User Prespective. Spring Compcon 78

I'm sure that there are many more reports available but these are the ones that
I have encoutered (perhaps someone inside Xerox could slide me a "suggested
reading list that I could seek out and report on at length).

-------

Mesa is a programming system designed with great care to include considerations
for the programmer environment, debugging, large project control, and almost
every other thinkable technical detail. The Xerox designers have done an
admirable job of learning from other languages' mistakes and strengths and the
project is ongoing wih full support from Xerox internally. This last is,
perhaps, the most important factor since it makes Mesa more than a toy that
some hacker put together. Xerox seems to understand the need for a uniform
internal implementation language that has the power, flexibility, and control
of the best availble language technology. As I understand it, everything that
can be implemented in Mesa is implemented in Mesa unless there is good reason
not to do so. The language is fully compiled and fully type safe (down to
the link editing stage). Types are even stored with external data. Such heavy
reliance on types causes the usual problems but more so in Mesa because it is
highly committed to full type safety. for example, if a module that exports
a certain data-type is changed, the newly exported type (whether changed or
not) is assigned as new id and all importers must be recompiled (this may be
overstaing the point a bit but gets the idea across). Mesa is actively
supported in Xerox and several researchers from Stanford have worked on language
extensions over the past few years. The Mesa language is pretty well defined
but the programming environment is less well defined (or less well popularized).
At last count there was work going on to develop an incremental compiler and
research in debugging environments and associated problems (like pretty printing
types) in progress [this is hearsay]. Pilot, mentioned in the previous paper
references is an opsys for a personal computer that was written entirely in
Mesa. It consists of "tens of thousands of source lines... and was implemented
in a few months" [presumably AFTER a draft of the design specs were ready]. It
is an Alto opsys and thus Mesa DOES run on Altos (not that that means much any
longer). One feature of Mesa that is unique is its strong interaction with
its environment. The binder (linkeditor) has a language called "C/Mesa" that
is used to describe module interconnection and supply automatic recompilation
of dependent modules etc. Aparently (from Lauer and Satt...) the Pilot system
is the runtime support system for Mesa.

Mesa is more like Simula and Algol than Pascal or Ada. It has modules that
communicate via interfaces (defined at a higher level). [These sentences should
be attached to the previous pgh.]

--------

Personal opnion: Xerox language design team are the best on earth and they have
the backing of the company to make what they imagine into a reality. as an
excercise to the reader... imagine a uniform and concise compiled language that
provides everything one might want in such an environment from interactive
debuggers to a rather sexy language underlying EVERYTHING! Now imagine that
everyone in the company uses it and makes useful suggestions that actually
become reality. Xerox had such an image and Mesa is their reality. God forbid
I should ever have to leave LISP and APL for a real compiler environment but if
that day ever came I think I would apply to Xerox for a job.

In case you can't tell... I'm rather impressed with Mesa.

--------

Corrections or differing opinions welcome in personal communication.

-- Jeff


0 new messages