The Avalon C++ programming language (version 0)

Avalon/C++ is a language for implementing reliable distributed programs. People who wish to read or write Avalon/C-Hprograms should read this document, though not necessarily all of it. It contains a quick overview of the terminology of our intended application domain, a tutorial-by-example introduction to the language, a reference manual for the Avalon extensions to C++, a library of built-in classes, and a list of practical programming guidelines. The appendices include the language's grammar and the UNIX man pages for acc, the Avalon/C++ preprocessor. Please send direct comments, corrections, and questions to wing@cs.cmu.edu: send bug reports to avalon@cs.cmu.edu. This document should be informally referred to as "The Avalon Report" since it is more than a language manual. This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 (Amendment 20), under contract F33615-87-C-1499 monitored by the Avionics Laboratory, Air Force Wright Aeronautical Laboratories, Wright-Patterson AFB. Additional support for J. Wing was provided in part by the National Science Foundation under grant CCR-8620027. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the US Government. University Librsnri Carnegie Mellon u?vu£. Pittsburgh, Per.n:y!v*M ^ 1 1