% Copyright (C) 1989, Digital Equipment Corporation % All rights reserved. % See the file COPYRIGHT for a full description. % % Last modified on Mon Jul 2 21:30:55 1990 by muller % modified on Wed Feb 21 08:02:53 1990 by kalsow \chapter{Introduction} \pagenumbering{arabic} This document describes the \srcmodula distribution and the terms under which it is distributed. The distribution contains a \modula compiler and runtime, a set of libraries, a coverage analyzer, a dependency checker, a \modula pretty printer, and a small test suite of \modula programs. The compiler generates C as an intermediate code. This release is known to work on a variety of machines (see the table on page~\pageref{configurations}). We have not tested the software in any other configurations. It may function correctly on other versions of Ultrix or on other machines. The compiler and runtime system was designed and implemented by Bill Kalsow and Eric Muller. Neither of us view this as a finished product. Nonetheless, we thought others might like to use it. The system should be of interest to two camps: those interested in trying out \modula and those interested in compiler hacking. \section*{Other Documents} The \modula language is described in the ``Modula-3 Report (revised)'', by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson, published as a DEC-SRC technical report (number 52). Readers and writers are described in ``IO Streams: Abstract Types, Real Programs'', by Mark R. Brown and Greg Nelson, published a as DEC-SRC technical report (number 53). \section*{Acknowledgments} \def\cont#1{{\bf #1}} Many people contributed to SRC Modula-3, and we would like to thank them. We use the garbage collector developed by \cont{Joel Bartlett} (DEC-WRL). \cont{John Dillon} (DEC-SRC) provided the C version of thread switching. \cont{Mark R. Brown} and \cont{Greg Nelson} (DEC-SRC) designed the readers and writers interfaces. \cont{Jorge Stolfi} (DEC-SRC) and \cont{Stephen Harrison} (DEC-WSE) were very patient alpha-testers. They gave us invaluable bug reports and also translated some of DEC-SRC Modula-2+ modules to Modula-3. \cont{J\'er\^ome Chailloux} (ILOG) developed the X interfaces while visiting DEC-SRC. We also had numerous discussions about the evolution of SRC Modula-3. The ``gatekeepers'' (DEC-WRL), in particular \cont{Paul Vixie}, helped with the distribution of SRC Modula-3. \cont{David Goldberg} (XEROX PARC) ported SRC Modula-3 to the SPARC machines. \cont{Ray Lischner} ported the system to the APOLLO machines. \cont{Richard Orgass} (IBM Rochester) ported the system to the IBM machines. \cont{Piet van Oostrum} (Utretch University) ported the system to the HP series 9000/300 computers running HP/UX 7.0. Thanks also to all the people who used SRC Modula-3 and reported bugs.