A description of the Cedar language

Butler Lampson


Citation: Xerox PARC technical report CSL-83-15, December 1983.

Links: Abstract, Acrobat. Here is an HTML version created by OCR for the benefit of search engines, and is not meant for human consumption

Email: blampson@microsoft.com. This paper is at http://www.research.microsoft.com.



The Cedar language is a programming language derived from Mesa, which in turn is derived from Pascal. It is meant to be used for a wide variety of programming tasks, ranging from low level systems software to large applications. In addition to the sequential control constructs, static type checking and structured types of Pascal, and the modules, exception handling, and concurrency control constructs of Mesa, Cedar also has garbage collection, dynamic types, and a limited form of type parameterization.

This report describes the Cedar language. Except for chapter 2, it is written strictly in the style of a reference manual, not a tutorial. Furthermore, it describes the entire language, including a number of obsolete constructs and historical accidents. Hence it tells much more than you probably want to know. A summary of the safe language and comments throughout the manual suggest which constructs should be preferred for new programs.