Alphard: Form and Content

  • Mary Shaw

Table of contents

  1. Front Matter
    Pages i-viii
  2. Mary Shaw
    Pages 1-4
  3. Mary Shaw
    Pages 5-10
  4. Wm. A. Wulf, Ralph L. London, Mary Shaw
    Pages 15-60
  5. Mary Shaw, Wm. A. Wulf, Ralph L. London
    Pages 73-116
  6. Wm. A. Wulf, Mary Shaw, Ralph L. London
    Pages 117-134
  7. Mary Shaw
    Pages 135-137
  8. Ralph L. London, Mary Shaw, Wm. A. Wulf
    Pages 162-190
  9. Mary Shaw
    Pages 191-193
  10. Paul Hilfinger, Gary Feldman, Robert Fitzgerald, Izumi Kimura, Ralph L. London, K. V. S. Prasad et al.
    Pages 195-252
  11. Mary Shaw, Gary Feldman, Robert Fitzgerald, Paul Hilfinger, Izumi Kimura, Ralph L. London et al.
    Pages 285-293
  12. Mary Shaw
    Pages 315-321

About this book


Alphard is a design for a programming system that supports the abstraction and verification techniques required by modern program'ming methodology. During the language design process, we were concerned simultaneously with problems of methodology, correctness, and efficiency. Methodological concerns are addressed through facilities for defining new, task·specific abstractions that capture complex notions in terms of their intended properties, without explicating them in terms of specific low· level implementations. Techniques for verifying certain properties of these programs address the correctness concerns. Finally, the language has been designed to permit compilation to efficient object code. Although a compiler was not implemented, the research shed light on specification issues and on programming methodology. an abstraction, specifying its behavior Alphard language constructs allow a programmer to isolate publicly while localizing knowledge about its implementation. The verification of such an abstraction consists of showing that its implementation behaves in accordance with the public specification. Given such a verification, the abstraction may be used with confidence to construct higher·level, more abstract, programs. The most common kind of abstraction in Alphard corresponds to what is now called an abstract data type. An abstract data type comprises a set of values for elements of the type and a set of operations on those values. A new language construct, the form, provides a way to encapsulate the definitions of data structures and operations in such a way that only public information could be accessed by the rest of the program.


Alphard behavior compiler data structures design evolution form history of mathematics information language object programming set system techniques

Editors and affiliations

  • Mary Shaw
    • 1
  1. 1.Computer Science DepartmentCarnegie-Mellon UniversityPittsburghUSA

Bibliographic information