Personal tools
You are here: Home Projects Mesa
Document Actions


by Paul McJones last modified 2021-06-14 20:42


Paul McJones, editor - -
Software Preservation Group
Computer History Museum





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 Mesa, the system programming language designed at Xerox PARC in the 1970s and used to implement the Xerox Star office automation system and its follow-ons. The editor greatly appreciates comments, suggestions, and donations of additional materials.

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

As the Alto project proceeded, it was decided to retarget the MPL compiler to 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.

Chuck Geschke and Ed Satterthwaite designed and implemented the Mesa compiler for the Alto, and 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." [McJones 2014]


To do:


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

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

Mesa 6.0

Mesa programs

  • 5700 laser printer, Pilot operating system, Star office automation system, ...



Mesa 1.0

  • Charles M. Geschke, Charles Irby, Richard K. Johnsson, Edwin H. Satterthwaite and John D. Wick. Preliminary Mesa System Documentation. December 1, 1976. PDF at
  • "This collection of documentation describes the initial release of the Mesa programming system, Mesa library packages, and operational procedures for the Alto. It is intended as a preliminary effort, for use by experienced systems programmers operating in the Parc and SDD/Palo Alto environment. Substantial evolution of both the system and this documentation should be anticipated.

    The Mesa, language, compiler and programming system are the product of a long-standing research project at Parc, in which Chuck Geschke, Butler Lampson, Jim Mitchell, and Ed Satterthwaite have been the main participants. The current compiler was written by Geschke and Satterthwaite. They also wrote the debugger and support software needed to run Mesa programs on the Alto, in collaboration with Jim Mitchell and with Charles Irby, Richard Johnsson and John Wick of SOD/Palo Alto. Compiler testing has been done by Jim Frandeen of SDD/Palo Alto."

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
  • System, debugger, and user documentation. Online at

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
  • Butler Lampson. A description of the Cedar language. Xerox PARC technical report CSL-83-15, December 1983. Online at
  • Cedar Language Overview. Version 5.2 (Cedar 7.0), 20 June 1986. PDF at

Xerox Development Environment

  • Anonymous. Xerox Development Environment : Mesa Course. Document Services Business Unit, Xerox Corporation, September 1988. PDF at


Papers and reports

  • 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
  • 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. PDF at
  • P. Heinrich and W. Shultz. Selection of a System Programming Language for OIS. Inter-Office Memorandum, ITG, Xerox Corporation, December 17, 1974. PDF at
  • 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
  • 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
  • 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
  • Butler W. Lampson and David D. Redell. Experience with processes and monitors in Mesa. Comm.ACM Volume 23, Number 2 (Feb. 1980), pages 106-117. PDF at 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 ACM Digital Library


Other Mesa resources



Thanks to Al Kossow for

« June 2024 »
Su Mo Tu We Th Fr Sa
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: