# Acknowledgements

## PM3

Jerome Collin implemented the fast integrated backend for Linux ELF with position independent code and debugging support.

Louis-Dominique Dubeau reorganized the compiler and templates to obtained a simplified single process m3build-m3-quake.

Tony Hosking, Purdue University, (hosking@cs.purdue.edu), ported the incremental collector and stack based exceptions to Solaris. He is working on Persistent Modula-3.

Blair McIntyre brought several bug fixes and a new version of the Pickle library (Blair MacIntyre).

Richard Watts ported SRC Modula-3 to NT386 using the gnu-win32 linker, obviating the need for the MS Visual C++ compiler/linker.

Peter Klein (pk@i3.informatik.rwth-aachen.de) produced a Modula-3 version of the TXL program parsing and analysis tool, and a Modula-2 to Modula-3 converter.

John Podstra developed CVSsup.

The M3COCO parser generator was contributed by Ollie Stephens.

## SRC Modula-3

This section was written at DEC SRC and we presumably is Bill Kalsow (Critical Mass, kalsow@cmass.com), Eric Muller, Allan Heydon (heydon@src.dec.com), and Marc Najork (najork@src.dec.com).

Many people contributed to SRC Modula-3, and we would like to thank them. Below is a partial list of the contributors.

We use the garbage collector developed by Joel Bartlett (DEC-WRL). It has been modified to support incremental and generational collection by John DeTreville (jdd@src.dec.com, DEC SRC).

John Dillon (DEC SRC) provided the original C version of thread switching.

Mark R. Brown and Greg Nelson (DEC SRC, gnelson@src.dec.com) designed the readers and writers interfaces.

Jorge Stolfi (University of Campinas, Brazil, stolfi@dcc.unicamp.br), and Stephen Harrison (DEC-WSE) were very patient alpha-testers. They gave us invaluable bug reports and also translated some DEC SRC Modula-2+ modules to Modula-3.

J'erome 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 Paul Vixie, helped with the distribution of SRC Modula-3.

David Goldberg (XEROX PARC) ported SRC Modula-3 to the SPARC machines.

Ray Lischner ported the system to the Apollo machines.

Richard Orgass (IBM Rochester) and Roger Hoover (IBM) ported the system to the IBM machines.

Piet van Oostrum (Utrecht University) ported the system to the HP series 9000/300 computers running HP/UX 7.0.

Pat Lashley (KLA Instruments) contributed the lexer for `pps`.

R'egis Crelier (ETH) designed and implemented the pickles modules while he was a summer intern at SRC.

Mick Jordan (Sun, mick.jordan@eng.sun.com) provided the AST toolkit and helped with m3build.

Stephen Harrison (DEC SRC) wrote the quake interpreter.

Norman Ramsey (Princeton University) has pushed the system into obscure corners and found many bugs there.

R.J. Stroud and Dick Snow (University of Newcastle upon Tyne) provided the Encore Multimax port.

Dave Nichols (Xerox PARC) fixed and improved the pretty printer.

Greg Nelson and Mark Manasse (DEC SRC, msm@src.dec.com) designed and implemented the Trestle window system.

Sam Harbison (Tartan, Texas Instruments, harbison@micro.ti.com) contributed the `FieldList` interface and is the author of a popular book on Modula-3.

Steven Pemberton (CWI) wrote the `enquire` program and made it available to the community.

The vbtkit software has been designed and implemented by a large number of people at SRC: Andrew Birrell (birrell@src.dec.com, also involved in the Network objects), Ken Brooks, Marc H. Brown (mhb@src.dec.com), Mark R. Brown, Pat Chan, Luca Cardelli (luca@src.dec.com, also behind Obliq and several other packages), John DeTreville, Steve Glassman, Mark Manasse, Jim Meehan (jmeehan@mv.us.adobe.com), Greg Nelson, Jorge Stolfi, Mary-Claire van Leunen.

FormsVBT is due to Jim Meehan and Marc H. Brown (DEC SRC).

Peter Klein (RWTH Aachen) contributed a tool to help convert Modula-2 to Modula-3 programs. He is also responsible for establishing the first FTP mirror site.

James J. Walker (GTE Laboratories) ported the system to the HPPA machines.

Thomas Brupbacher (ETH Zuerich) ported the system to the SUN386 machines.

Dennis Brueni (`brueni@csgrad.cs.vt.edu`) ported the system to the OKI machines.

Dave Detlefs (DEC SRC) wrote the Modula-3 mode for gnuemacs. David Goldberg (XEROC PARC) wrote the `m3tags` program.

Jim Horning (horning@intertrust.com, horning@acm.org, http://www.intertrust.com/star/horning/), Paul McJones (DEC SRC, mcjones@src.dec.com) and Greg Nelson (DEC SRC) edited, designed, polished and in some cases implemented the "Interface police" interfaces.

Allan Heydon (DEC SRC, heydon@src.dec.com) implemented the `Fmt` and `Lex` interfaces and contributed the Web description of Modula-3 linking.

Michel Dagenais (Ecole Polytechnique de Montreal, michel.dagenais@polymtl.ca) ported the system to Linux.

Olaf Wagner ported the system to pcs running FreeBSD 1.1.5 and FreeBSD 2.0.

Eric Veach (Stanford) ported the system to MIPS boxes running Irix 5.2.

Michael Isard (DEC SRC) implemented the Intel x86 code generator and Windows/NT dynamic loader.

Carsten Weich (Institut fuer Informatik Universitaet Klagenfurt, weich@ifi.uni-klu.ac.at) implemented the stable objects package and the associated stub generator.

Chuck Thacker (DEC SRC) wrote the original version of Sil. Bill Kalsow converted it to Modula-3.

Thanks also to all the people who used SRC Modula-3 and reported bugs.

The various ports would have been impossible without the work of a number of people, who kindly made their modifications available. However, most of the bugs you may find in these ports were introduced during the final integration of these modifications and we are to be blamed for them.

## Miscellaneous

Susan Owicki (Stanford University, owicki@mojave.stanford.edu), and Edward Wobber, (DEC SRC, wobber@src.dec.com), Network objects.

Laszlo Boeszoermenyi, Universitaet Klagenfurt, Austria, (laszlo@ifi.uni-klu.ac.at), PC port (m3pc), Programming in style book.

Klaus Preschern, Universitaet Klagenfurt, Austria, (preschern@ifi.uni-klu.ac.at), PC port (m3pc).

Robert Ayers, Adobe, (ayers@Mv.Us.Adobe.Com), the Display Postscript to Modula-3 interface.

David N. Gray, Lucid Inc., Menlo Park, (gray@Lucid.Com), interface between the Lucid environment and the M3 compiler.

Rick Hudson, University of Massachusetts at Amherst, (hudson@cs.umass.edu), Lex and Yacc files for parsing Modula-3.

Bert Laverman, Groningen University, (laverman@cs.rug.nl), HPPA support.

Roland Mittermeir, Universitaet Klagenfurt, Austria, (mittermeir@ifi.uni-klu.ac.at), Programming in style book.

Eliot Moss, University Of Massachusetts At Amherst, (moss@Cs.Umass.Edu), Modula-3 garbage collection and persistency.

Farshad Nayeri, Critical Mass, (nayeri@cmass.com), commercial Modula-3 support.