Here is a list of books, papers and articles relevant to Modula-3.
-
Martin Abadi,
Baby Modula-3 and a Theory of Object,
Research Report 95,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
February, 1993.
-- A theoretical treatment of the semantics of objects.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-095.ps.Z.
-
Joel F. Bartlett,
Compacting Garbage Collection with Ambiguous Roots,
Research Report 88/2,
Western Research Laboratory, Digital Equipment Corporation,
Palo Alto,
February, 1988.
-- The basis for SRC Modula-3 garbage collector.
It's available on paper, by sending a mail to
WRL-Techreports@decwrl.dec.com (send help as the subject).
-
A. D. Birrell, J. V. Guttag, J. J. Horning, R. Levin,
Synchronization Primitives for a Multiprocessor: A Formal Specification,
Research Report 20,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
August, 1987.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-020.ps.Z.
-
Andrew D. Birrell,
An Introduction to Programming with Threads,
Research Report 35,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
January, 1989.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-035.ps.Z.
-
Andrew Birrell, David Evers, Greg Nelson, Susan Owicki, Edward Wobber,
Distributed Garbage Collection for Network Objects,
Research Report 116,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
December, 1993.
-- A fault-tolerant and efficient garbage collection algorithm for
distributed systems.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-116.ps.Z.
-
Andrew Birrell, Greg Nelson, Susan Owicki, Edward Wobber,
Network Objects,
Research Report 115,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
February, 1994.
-- This report describes the design and implementation of a netowrk
objects system, which allows you to write programs that communicate
over a network, while hiding the messy details of network programming.
Network objects provide functionality similar to remote procedure call (RPC),
but they are more general and easier to use. The system is implemented
in Modula-3.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-115.ps.Z.
-
Graham M. Birtwistle, Ole-Johan Dahl, Bjorn Myhrhaug, and Kristen Nygaard,
Simula Begin,
Auerbach,
Philadelphia PA, 1973.
-
Gilad Bracha and William Cook,
Mixin-based Inheritance,
Proceedings of the Conference on Object-Oriented
Programming: Systems, Languages, and Applications;
European Conference on Object-Oriented Programming,
Pages 303--311,
October, 1990.
-
Marc H. Brown and John Hershberger,
Color and Sound in Algorithm Animation,
Research Report 76a,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
August 30, 1991.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-076a.ps.Z.
-
Marc H. Brown,
Zeus: A System for Algorithm Animation and Multi-View Editing,
Research Report 75,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
February 28, 1992.
-- Also in Visual Languages '91, October 1991.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-075.ps.Z.
-
Marc H. Brown,
The 1992 SRC Algorithm Animation Festival,
Research Report 98,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
March 27, 1993.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-098.ps.Z.
-
Marc H. Brown and James R. Meehan (editors),
VBTkit Reference Manual: A toolkit for Trestle,
Systems Research Center, Digital Equipment Corporation,
Palo Alto.
-- This report is the working definition of the VBTkit toolkit.
It's available in the vbtkit archive of the SRC Modula-3
distribution.
A draft version is available via anonymous FTP from
gatekeeper.dec.com in
pub/DEC/Modula-3/contrib/vbtkit.25Mar93.ps.Z.
-
Marc H. Brown and James R. Meehan,
The FormsVBT Reference Manual,
Systems Research Center, Digital Equipment Corporation,
Palo Alto.
-- This report is the working definition of the FormsVBT toolkit.
It's available in the formsvbt archive of the SRC Modula-3
distribution.
A draft version is available
via anonymous FTP from gatekeeper.dec.com in
pub/DEC/Modula-3/contrib/formsvbt.25Mar93.ps.Z
and
pub/DEC/Modula-3/contrib/formsvbt.AppC.26Mar93.ps.Z.
-
Mark R. Brown and Greg Nelson,
IO Streams: Abstract Types, Real Programs,
Research Report 53,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
November, 1989.
-- Shows how to use objects in a real program. Also
defines the de facto standard input/output functions.
-
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson,
Modula-3 Report,
Research Report 31,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
August 15, 1988.
-- The original definition of the language, superceded by report 52.
-
Luca Cardelli, James Donahue, Mick Jordan, Bill Kalsow, Greg Nelson,
The Modula-3 Type System,
Conference Record of the Sixteenth Annual ACM
Symposium on Principles of Programming Languages (POPL),
Pages 202--212,
January 11-13, 1989.
-
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson,
Modula-3 Report (revised),
Research Report 52,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
November, 1989.
-- This report is the definition of the language.
This report is now only available in hardcopy. The address for
orders is below.
-
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson,
Modula-3 Language Definition,
Sigplan Notices
27(8):15-42,
August 1992.
-- Chapters 2 and 3 of SPwM3.
(on-line version)
-
David Goldberg,
The Design of Floating-Point Data Types,
ACM Letters on Programming Languages and Systems (LOPLAS),
1(2):138--151,
June 1992.
-- Describes the Modula-3 treatment of floating-point values.
-
Sam Harbison,
Modula-3
Byte,
15(12):385--392,
November, 1990.
-- A survey article.
-
Sam Harbison,
Safe Programming with Modula-3,
Dr. Dobb's Journal,
17(10):88-96,
October, 1992.
-- A survey article.
-
Samuel P. Harbison,
Modula-3,
Prentice Hall,
ISBN 0-13-596396-6,
1992.
-- A complete Modula-3 textbook covering the full
language, with examples and exercises. Includes a
style manual and a user's guide for SRC Modula-3.
-
Ernst A. Heinz,
Modula-3*: An efficiently compilable extension of Modula-3 for
problem-oriented explicitly parallel programming,
Proceedings of the Joint Symposium on Parallel Processing 1993,
Pages 269--276,
May 17--19, 1993,
Tokyo, Japan.
Available from i41s10.ira.uka.de [129.13.13.110] by anonymous ftp
in directory pub/m3s
as jspp93.ps
or jspp93.ps.gz.
-
Ernst A. Heinz,
Sequential and parallel exception handling in Modula-3*: A unifying
semantics specification,
Advances in Modular Languages: Proceedings of the Joint Modular
Languages Conference,
P. Schulthess (editor),
Pages 31--49,
September 28--30, 1994,
Ulm, Germany.
Available from Universitatsverlag Ulm GmbH or from i41s10.ira.uka.de
[129.13.13.110] by anonymous ftp in directory pub/m3s
as jmlc94.ps
or jmlc94.ps.gz.
-
C.A.R. Hoare,
Monitors: An operating system structuring concept,
Communications of the ACM,
17(10),
October 1974.
-
Jim Horning, Bill Kalsow, Paul McJones, Greg Nelson,
Some Useful Modula-3 Interfaces,
Research Report 113,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
December, 1993.
-- A description of the core interfaces in SRC Modula-3.
It's available via anonymous FTP from gatekeeper.dec.com in
pub/DEC/SRC/research-reports/SRC-113.ps.Z.
-
Peter Klein,
Designing Software with Modula-3,
Technical Report 94-16,
Department of Computer Science III,
Aachen University of Technology.
It's available via anonymous FTP from ftp.informatik.rwth-aachen.de
in /pub/reports/1994/94-16.ps.gz.
-
Butler W. Lampson and David D. Redell,
Experience with processes and monitors in Mesa,
Communications of the ACM,
23(2),
February 1980.
-
Mark S. Manasse and Greg Nelson,
Trestle Reference Manual,
Research Report 68,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
December, 1991.
-- This report is the working definition of the Trestle toolkit.
-
Mark S. Manasse and Greg Nelson,
Trestle Tutorial,
Research Report 69,
Systems Research Center, Digital Equipment Corporation,
Palo Alto,
May, 1992.
-- This report is a tutorial introduction to the Trestle toolkit.
-
Paul McJones and Garret Swart,
Evolving the UNIX system interface to support multi-threaded programs,
Proceedings of the Winter 1989 USENEIX Conference,
February 1989.
-
Greg Nelson (editor),
System Programming with Modula-3,
Prentice Hall Series in Innovative Technology,
ISBN 0-13-590464-1,
L.C. QA76.66.S87,
1991.
-- The definitive language reference. Includes the language
reference manual and papers on the I/O library,
threads, and the Trestle window system."
Also known as SPwM3.
Here is its table of contents:
1. Introduction
2. Language Definition
3. Standard Interfaces
4. An Introduction to Programming with Threads
5. Thread Synchronization: A Formal Specification
6. I/O Streams: Abstract Types, Real Programs
7. Trestle Window System Tutorial
8. How the Language Got its Spots
These online bookstores
claim to carry SPwM3.
-
Paul Rovner,
Extending Modula-2 to build large, integrated systems,
IEEE Software,
3(6),
November 1986.
-
Robert Sedgewick,
Algorithms in Modula-3,
Addison-Wesley,
ISBN 0-201-53351-0,
L.C. QA76.73.M63S43,
1993.
-- Sedgewick's classic text on algorithms. The examples are in Modula-3.
-
Geoff Wyant,
Introducing Modula-3,
Linux Journal,
December 1994.
It's available via anonymous FTP from ftp.gte.com
in /pub/m3/linux-journal.html.