Mesa History Collection
Paul McJones, editor
paul@mcjones.org
https://mcjones.org/dustydecks/
Last modified 29 November 2025
To do:
Contents
Introduction
The goal of this project is to preserve and present primary and secondary source materials (including specifications, source code,
manuals, and papers discussing design and implementation) from the Mesa family of system programming languages designed at Xerox PARC in the 1970s: MPL, Mesa, and Cedar.
Portions of this document first appeared as [McJones 2014].
The Mesa programming language was designed by Charles M. Geschke, Butler Lampson, Jim Mitchell, James H.
Morris, Jr., and Edwin H. Satterthwaite, with contributions from Alan Kay, Charles Simonyi, and John Wick.
Mesa evolved from the Modular Programming Language (MPL), which was part of the Modular Programming System (MPS) project carried out
jointly by PARC and the SRI International Augmentation Research Center (ARC). One of the goals of MPS was to facilitate migrating ARC's oNLine System (NLS) from the PDP-10 to smaller computers. MPL was designed by Butler Lampson and James G. Mitchell with contributions from others at SRI and PARC.
Ed Satterthwaite recalls: [Satterthwaite 2025]
"By the time I arrived at PARC (August 1972) there was a working but incomplete MPL. ... MPL evolved in part from a language called L10, which was a structured implementation language for the PDP-10/DEC10/DEC20 done at SRI. There was some collaboration and perhaps some shared code for a while. IIRC, Bill Paxton was our primary contact at SRI.
Chuck Geschke arrived at PARC not too long after I did. He spent his initial few months on MAXC diagnostics and commissioning, then joined the MPL project. When the first Altos were imminent, Chuck and I wanted to move immediately to the Alto. ... Eventually Chuck and I decided to ... [devote] all our efforts to a port and refinement of Mesa on the Alto."
The new language, renamed Mesa, had a richer type system and stronger type checking than MPL. Its syntax was based on Pascal; its type
system was influenced by Pascal and Algol 68. Mesa supported modular programming with separate interface and implementation modules, which features in turn influenced Wirth's Modula-2.
Richard Johnson and John Wick wrote a Mesa version of the Alto operating system, which also served as the runtime for Mesa programs.
By the summer of 1976, the Mesa compiler had been rewritten in Mesa and brought up on the Alto. Mesa was used for much of the later Alto software, such as the Laurel email client and the Grapevine distributed email transport and name service. It was also used for products such as the Star Office Automation system, and a successor language, Cedar Mesa, was used for many later research projects running on successors to the Alto.
- Paul McJones. Xerox Alto file system archive. Web page, Computer History Museum, 2014 (revised 9 November 2017).
Online at xeroxalto.computerhistory.org
- Ed Satterthwaite. Email to Paul McJones. 30 October 2025.
Source code
The early Mesa system was compatible with the file system of the original Alto operating system (which was written in BPCL). It was a
single address space, single user system.
Mesa 3.0
Mesa 4.0
- Microcode, system, and program development tools (binder, bootstrap, compiler, debugger, lister, utilities).
PDF at bitsavers.org
Mesa 5.0
- Paul McJones, archivist. Xerox PARC Alto filesystem archive. Mesa 5.0 sources, circa January 1980. [Indigo]<CSLCopyDisk>Johnsson-3KRamTest-DP1.altodisk!1> (dual-pack file system).
Online at xeroxalto.computerhistory.org
Mesa 6.0
Applications written in Mesa
As soon as Mesa was running on the Alto, it began being used at PARC for research projects and at SDD for a family of office automation products.
Some of PARC's research projects written in Mesa include:
- Laurel electronic mail client.

- Grapevine distributed mail transport and name service.
- Alto Gateway.
- Juniper distributed file system.
- Jay E. Israel, James G. Mitchell, and Howard E. Sturgis. Separating Data From
Function in a Distributed File System. Xerox PARC technical report CSL-78-5, September 1978.
PDF at bitsavers.org
- Poplar programming language. See Software Preservation > Poplar.
Some of Xerox's products built with Mesa include:
- Pilot operating system.
- David D. Redell, Yogen K. Dalal, Thomas R. Horsley, Hugh C. Lauer, William C. Lynch, Paul R. McJones, Hal G. Murray, and
Stephen C. Purcell. Pilot: an operating system for a personal computer. Commun. ACM Volume 23, Number 2 (Feb. 1980), pages 81–92. ACM Digital Library
- Pilot Programmer's Manual, Version 5.0. October 1980. Computer History Museum
Acquisition Number X9513.2021.
Online
- Pilot Source Code: definitions, Version 5.0. October 1980. Computer History Museum
Acquisition Number X9513.2021. Online
- Pilot Source Code: parts 1 and 2, Version 5.0. October 1980. Computer History Museum
Acquisition Number X9513.2021. Online
- 5700 laser printer.
- Star office automation system.
Documentation
MPL
- Butler Lampson. New Control Transfer Mechanism. Xerox PARC interoffice memo. 21 April 1972.
PDF at itsavers.org
- James G. Mitchell. A Model for MPS Processes and Environments. 22 June 1972.
PDF at bitsavers.org
- James G. Mitchell. MPS Runtime Reference Manual. 11 August 1972.
PDF at bitsavers.org
- Charles H. Irby Papers, 1962-1975, Special Collections M0671, Stanford University. Libraries. Dept. of Special Collections and University Archives. Finding aid at Online Archive of California
- JGM [James G. Mitchell]. Xerox-PARC/SRI. "MPS Language reference manual. MPS 11.0." Sept. 4, 1972. Box 6, folder 1.
- JGM [James G. Mitchell] and [Ed] Satterthwaite. Xerox-PARC/SRI. "Debugger meetings and specifications." Sept. 4, 1972. Box 6, folder 2.
- James G. Mitchell. The Implementation of NLS on a Miniomputer. Xerox PARC Research Report CSL 73-3; NIC #18941. PDF at bitsavers.org
- Jim Mitchell. What Mesa needs in an Alto Virtual Memory Scheme. Inter-Office Memorandum, Computer Science Laboratory, Palo Alto Research Center, Xerox Corporation, June 12, 1974. PDF at bitsavers.org
- Three memos on the selection of MPL/Mesa as a system programming language for Xerox Office Information Systems.
PDF at bitsavers.org
- P. Heinrich and W. Shultz. Selection of a System Programming Language for OIS.
Inter-Office Memorandum, Xerox Corporation, December 17, 1974, 8 pages.
"MPL version A was derived from QSPL (on the 940, by Lampson and Deutsch),
an SPL at BCC (by Lampson and Mitchell), BLISS (Carnegie-Mellon) and L10
(SRI). MPL version B (the current version) was derived from MPL-A
as modified by ideas from ECL (at Harvard, by Wegbreit), Simula 67,
Pascal, and minor influence from BCPL. It has been used for several
months by many people at PARC, will be used by several other projects
at PARC in 1975. Therefore, although not as clear a derivation from as major a
language as PL/1, it is felt that the language is well-tested by a group of very
sophisticated system programmers and is therefore currently more
mature than SPL [a language being developed at Xerox El Segundo]."
- Jim Frandeen. Reentrancy, Recursion, and Coroutines for OIS Programming Language. December 19, 1974, 10 pages.
- Jerry Elkind, Butler Lampson, and Jim Mitchell. Comments on the Selection of Mesa for
the OIS System Programming Language. January 2, 1975, 2 pages.
"We are concerned about parts of the proposed action plan for implementing
Mesa on the Sigma under CP-V.
First, the MAXC version of Mesa is not the appropriate take-off point for
such an implementation. The Alto version is the one to start with. We are
now concentrating on the Alto version, making co.nsiderable improvements in
it, and are not intending to upgrade the Maxc version to maintain
compatibility between it and thd Alto one.
... A Mesa Virtual Machine has not yet been specified and needs to be."
Mesa 1.0
Mesa 4.0
Mesa 5.0
- James G. Mitchell, William Maybury, and Richard Sweet. Mesa Language Manual. Version 5.0, CSL 79-3, Palo Alto Research Center and Systems Development Department, Xerox Corporation, April 1979. PDF at bitsavers.org
- System, debugger, and user documentation. Online at bitsavers.org
Mesa 6.0
Cedar Mesa
- The Cedar Manual. Version 4.2, 8 June 1983. Includes Cedar Language Overview (PDF page 133), Cedar Safe Language Syntax (PDF page 157), Cedar Full Language Syntax (PDF page 158).
PDF at bitsavers.org
- Butler Lampson. A description of the Cedar language. Xerox PARC technical report CSL-83-15, December 1983.
Online at bwlampson.site
- Cedar Language Overview. Version 5.2 (Cedar 7.0), 20 June 1986.
PDF at bitsavers.org
Xerox Development Environment
- Anonymous. Xerox Development Environment : Mesa Course. Document Services Business Unit, Xerox Corporation, September 1988. PDF at bitsavers.org
Papers and reports
- B. W. Lampson, J. G. Mitchell, and E. H. Satterthwaite. On the transfer of control between contexts. Lecture Notes in Computer Science, Volume 19, Springer, 1974, pages 181-203. Author's web site
- P. Heinrich and W. Shultz. Selection of a System Programming Language for OIS. Inter-Office Memorandum, ITG, Xerox Corporation, December 17, 1974. PDF at bitsavers.org
- C. M. Geschke and J. G. Mitchell. On the problem of uniform references to data structures. In Proceedings of the international conference on Reliable software. ACM, New York pages 31-42. ACM Digital Library
- [James H. Morris, Jr.] Elements of Mesa Style. Xerox Corporation, Information Technology Group, Systems Development Division. 1 June 1976. PDF at bitsavers.org
- Charles M. Geschke, James H. Morris, Jr., and Edwin H. Satterthwaite. Early experience with
Mesa. Commun. ACM Volume 20, Number 8 (August 1977), pages 540-553. ACM Digital Library
- Richard E. Sweet. Empirical Estimates of Program Entropy. PhD thesis, Stanford University, 1978.
- Hugh C. Lauer and Edwin H. Satterthwaite. The Impact of Mesa on System Design. Proceedings of the 4th International Conference on Software Engineering, Munich, Germany, September 1979. IEEE Computer Society, 1979. PDF at bitsavers.org
- Butler W. Lampson and David D. Redell. Experience with processes and monitors in Mesa. Commun. ACM Volume 23, Number 2 (Feb. 1980), pages 105-117. ACM Digital Library
- James G. Mitchell. Mesa from the perspective of a designer turned user. In Proceedings of the international conference on APL (APL '81), William L. Anderson and David G. Smith (Eds.). ACM, New York.
PDF at bitsavers.org /
ACM Digital Library
- Richard K. Johnsson and John D. Wick. An overview of the Mesa processor architecture. In Proceedings of the first international symposium on Architectural support for programming languages and operating systems (ASPLOS I). Association for Computing Machinery, New York, 1982, pages 20–29. https://doi.org/10.1145/800050.801822
- Richard E. Sweet and James G. Sandman. Empirical analysis of the mesa instruction set. In Proceedings of the first international symposium on Architectural support for programming languages and operating systems (ASPLOS I). Association for Computing Machinery, New York, 1982, pages 158–166. ACM Digital Library
Other Mesa resources
Acknowledgments
Thanks to Al Kossow for bitsavers.org and Ed Satterthwaite for his recollections of MPL, Mesa, and Cedar.