Early experience with Mesa

@article{Geschke1977EarlyEW,
  title={Early experience with Mesa},
  author={Charles M. Geschke and James H. Morris and Edwin H. Satterthwaite},
  journal={Commun. ACM},
  year={1977},
  volume={20},
  pages={540-553}
}
The experiences of Mesa's first users—primarily its implementers—are discussed, and some implications for Mesa and similar programming languages are suggested. The specific topics addressed are: module structure and its use in defining abstractions, data-structuring facilities in Mesa, an equivalence algorithm for types and type coercions, the benefits of the type system and why it is breached occasionally, and the difficulty of making the treatment of variant records safe. 
The Module: A System Structuring Facility in High-Level Programming Languages
  • N. Wirth
  • Computer Science
  • Language Design and Programming Methodology
  • 1979
TLDR
A programming language concept called module is presented here as a means to partition systems effectively and to encapsulate local details and to specify explicitly those elements that are part of the interface between modules. Expand
Abstract Data Types: A Retrospective and Prospective View
TLDR
A retrospective view of the last decade's research in a number of related areas: programming methodology, formal semantics, program specification and verification, and programming languages is presented. Expand
Adding classes to the C language: An exercise in language evolution
TLDR
The class concept described here has benefitted from the experience gained through a year's use, and is now in use at close to a hundred installations. Expand
A survey of systems programming languages: Concepts and facilities
TLDR
In this paper, systems programming languages are surveyed to find common characteristics and individual differences and limitations of a number of current languages, including Ada, Concurrent Pascal, CLU, Pascal‐Plus, Modula‐2, Mesa, Edison, PLZ/SYS and C. Expand
An alternative to young's module facility for Pascal
TLDR
Comparing Young's work to a similar tool for Pascal that has been designed and implemented by the authors demonstrates that parameterized module instantiations allow one to express some abstractions more naturally than does Young's method. Expand
The Mesa Spy: an interactive tool for performance debugging
TLDR
The Spy is a performance evaluation tool for the Mesa environment that uses a new extention to the PC sampling technique that avoids perturbing the user environment when it executes, provides symbolic output at the source-language level, and can be used without recompiling the program to be examined. Expand
Pilot: A Software Engineering Case Study
TLDR
The strengths and deficiencies of these software engineering and development tools and techniques as observed in the Pilot project are reported on. Expand
Implementing data abstraction features in a stack‐based language
TLDR
The use of object‐describing templates in the implementation of storage allocation, assignment and returning values from functions is discussed and the conflicts between automatic initialization and separate compilation are explained. Expand
The Mesa programming environment
TLDR
The Mesa programming facilities of the Xerox Development Environment (XDE) are described, the user illusion, the set of programming tools, and the facilities available for augmenting the environment. Expand
An experiment with the interchangeability of processes and monitors
Two styles of operating system implementation based on the use of monitors and processes, respectively, are identified, and arguments for a basic equivalence of these systems despite large stylisticExpand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 21 REFERENCES
The treatment of data types in EL1
TLDR
The EL1 language contains a number of features specifically designed to simultaneously satisfy both natural problem-oriented notation and efficient implementation, in a context that allows efficient compiled code and compact data representation. Expand
On the problem of uniform references to data structures
TLDR
This paper develops a programming language notation and semantic interpretations which allow a program to operate on a data object in a manner which is dependent only on its logical or abstract properties and independent of its underlying concrete representation. Expand
On the transfer of control between contexts
We describe a single primitive mechanism for transferring control from one module to another, and show how this mechanism, together with suitable facilities for record handling and storageExpand
Programming semantics for multiprogrammed computations
The semantics are defined for a number of meta-instructions which perform operations essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate toExpand
A technique for software module specification with examples
TLDR
This paper presents an approach to writing specifications for parts of software systems sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information. Expand
Protection in programming languages
TLDR
Linguistic mechanisms which can be used to protect one subprogram from another's malfunctioning are described and an attempt is made to distinguish between access limitation and authentication. Expand
Report of Algorithmic Language ALGOL 68
TLDR
Working Group 2.1 on ALGOL of the International Federation for Information Processing has discussed the development of “ALGOL X”, a successor to ALGol 60 since 1963, and invited written descriptions of the language based on the previous discussions. Expand
Report on the algorithmic language ALGOL 60
TLDR
It was decided to hold an international meeting in January 1960 for improving the ALGOL language and preparing a final report, and seven representatives were selected to attend the January 1960 international conference. Expand
On infinite modes
TLDR
Details of the metaproductlon rules for MODE, which form a context free grammar which has an infinite number of terminal productions, and the freedom to declare new modes by means of a mode-declaration. Expand
OS6 - an experimental operating system for a small computer. Part 2: input/output and filing system
TLDR
The provisions made for input/output in OS6, an experimental operating system running on a Modular One computer, and a description of the disc filing system are described. Expand
...
1
2
3
...