Software Preservation Group of the Computer History Museum

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.

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

Mesa 5.0

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:

Some of Xerox's products built with Mesa include:

Documentation

MPL

Mesa 1.0

Mesa 4.0

Mesa 5.0

Mesa 6.0

Cedar Mesa

Xerox Development Environment

Papers and reports

Other Mesa resources

Acknowledgments

Thanks to Al Kossow for bitsavers.org and Ed Satterthwaite for his recollections of MPL, Mesa, and Cedar.