From: Rick Sutcliffe, Modula-2 FAQ maintainer,rsutc@twu.ca
Reply-To: Modula2 List,INFO-M2@BITNIC.BITNET
Newsgroup: comp.answers,news.answers,comp.lang.modula2
Receive-Date: Mittwoch, 15-Mär-95  00:55:06
Creation-Date: Freitag, 10-Mär-95  13:07:47
Message-ID: 01HNZ8G0MGUU96VK18@vaxc.hofstra.edu
Date: Fri, 10 Mar 1995 13:07:47 -0800
Subject: Modula-2 FAQ
Attributes: MIME
Followup-To: comp.lang.modula2
Distribution: world
UserFlags: Old ReadAccess
GlobalFlags: Exported Link HardLink

Modula-2 Frequently Asked Questions
 
This FAQ is under construction and there are surely many holes you readers
will have to help me fill in.  In particular, I am open to expanding the
"reviews" section, wherein one paragraph signed short reviews are included.
 
Whats new in version 1.6
Some reformatting, especially of URLs and a little new vendor info.  The
bibliography has been reformatted.
 
Summary:
1. Frequently asked questions and frequently given answers relating to the
programming language Modula-2 will be collected and edited at Trinity
Western University and included in this document from time to time as it is
revised.
2. Submissions should be mailed to me -- mailto:rsutc@twu.ca
Anyone making a submission is guaranteeing that they have the right to do
so (copyright holder, or information in the public domain) and that the
information has specifically not been copied from any source whose
copyright rests with another person.
3. I will update this summary file and post to the newsgroup "twu.general"
for the immediate benefit of TWU students, and cross post it to
"comp.lang.modula2" and to "comp.answers" and "news.answers" for the
benefit of the broader Internet community.
4. The latest version will always be available in a Nisus (Mac) form in
file://ftp.twu.ca/FTP/pub/modula2/FAQ/ The folder modula2, has a variety of
other materials. This file can be read as text by other word processors,
but without any formatting.  It is also available from the site
rtfm.mit.edu in plain text form as
file://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-f
aq.
5. An automatically generalted .html version of the FAQ is available at
http://www.cis.ohio-state.edu/hypertext/faq/usenet/computer-lang/Modula2-faq
/faq.html In addition, an experimental .html version will be maintained at
ftp.twu.ca, as ftp://ftp.twu.ca/FTP/pub/modula2/m2faq.html but it may be
slightly out of date compared to the text file.
6. Further information, including disclaimers, is in the appendix.
 
Contents:
1. WHAT IS MODULA-2?
2. WHERE IS MODULA-2 DISCUSSED?
3. WHERE CAN I GET MODULA-2 COMPILERS?
4. WHERE CAN I GET SOURCE CODE AND OTHER INFORMATION/LIBRARIES?
5. WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2?
6. REVIEWS
Appendix: AUTHOR INFORMATION AND DISCLAIMERS
 
1. WHAT IS MODULA-2?
A. Modula-2 is a programming notation that corrects some of the
deficiencies of Pascal.  It is suitable for learning programming, for large
projects written and maintained in the fashion of professional software
engineers, and for real time embedded systems.
  1.1 Who developed Modula-2 originally, and when and where.
  A. Modula-2 was developed by Niklaus Wirth at ETH in Zurich, Switzerland
in the late 70's and early 80's.  Among others, Wirth also developed Pascal
and Oberon.
  1.2  Where is this language described?
    A. In "Programming in Modula-2 3rd edition" published by
Springer-Verlag in 1985.  For the purposes of distinguishing this from
later variants, this description will be referred to as "classical
Modula-2" in this document.
  1.3 How do you pronounce Herr Wirth's name?
    A. It is incorrect to call him by his value ("worth".) Instead his name
is "veart".
  1.4 How does Modula-2 fit into the language zoo?
    A. It is a descendent of Pascal and Modula, and one predecessor of
Modula-2+, Modula-2*, Modula-3, Oberon, Oberon-2, and various object
oriented versions of these.  (The latter languages are not replacements for
Modula-2, merely later notations in the same family, having strengths and
weaknesses of their own.)  Modula-2 is sometimes classified with Ada and C
as the trio of "modern" languages in view of their expressive power.
Modula-2 is smaller and more readable than either.
  1.5 What are the differences between Modula-2 and Pascal?
    A. Modula-2 has separately compiled library modules, and makes much
less use of blocks (begin...) than Pascal.  Identifiers are case sensitive,
there is no goto <label>, and I/O is in the libraries rather than being
built in. The IF statement is more versatile, and there are facilities for
concurrent programming via coroutines.
  1.6 What is ISO Standard Modula-2?
    A. A committee of ISO JTC1/SC22/WG13 has met with delegates from
several countries since 1987 to work on a standard description of the
Modula-2 language and a set of standard library modules.
   1.6.1 What is the status of ISO Standard Modula-2?
     A. The international standard (IS 10514) has been voted on and is now
official.
   1.6.2 Where can I get a copy of the Modula-2 standard?
     A1. Contact the national standards body in your country or the IEEE,
or write Mark Woodman, the chair of WG13 at m.woodman@open.ac.uk.
     A2. Try looking in
ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/standard/draft4/
   1.6.3 Will I be able to read the standard?
     A1. The concrete syntax is written in a variation of EBNF (Extended
Backus-Naur Formalism) and should be accessible to most students.
     A2. Much of the document's details are however, written in VDM-SL
(Vienna Development Method - Specification Language) which is a formalism
for giving a precise definition of a programming language in a denotational
style..  It is certainly worth learning VDM-SL if you plan to write a
compiler or take a course in formal methods.
   1.6.4 Can I at least get electronic copies of the definition modules?
   A. Yes, in ftp://FTP.twu.ca/FTP/pub/modula2/ISOLibraries/*ISODEFMods/ or
in ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/
  1.7 What are the differences between classical and ISO Modula-2?
    A. ISO Modula-2 has resolved most of the ambiguities in classical
Modula-2.  It adds the data type COMPLEX and LONGCOMPLEX, exceptions,
module termination (FINALLY clause) and a complete standard I/O library.
There are numerous minor differences and clarifications.
   1.7.1 What else is WG13 working on?
     A. WG13 is working on two additional standards (to be separate from
the main one) for (a) object oriented Modula-2 and (b) generic programming
facilities.  A ballot is at least several months away.  Various versions of
the latest generics proposal are stored in the directory
ftp://FTP.twu.ca/FTP/pub/modula2/WG13/
  1.8 Where and for what is Modula-2 used today?
    A. Modula-2 is widely used for teaching the fundamentals of sound
programming techniques, data structures, and software engineering in many
parts of the world. It is the language of choice in much of Europe.  It has
features that make it superior to other languages for large projects and
for programming and real time controllers.
  1.9 Where do I get information on Oberon and Modula-3?
    A. These two languages have their own newsgroups.
 
2. WHERE IS MODULA-2 DISCUSSED?
  2.1 comp.lang.modula-2
This is an internet newsgroup for questions, answers, and discussions on
Modula-2.  You may read it under this name on any machine on which you have
a "news" account.
  2.1.1 How do I post a message to comp.lang.modula2?
   A. Post it directly into that group using a news program on any computer
connected to the network.
  2.1.2 How do I retrieve old messages from comp.lang.modula2?
   A. Your local news server probably keeps old messages only for a few
weeks.  You should be able to mark the entire group as "unread" and browse
whatever is available there.
  2.2 info-m2
This is a remailer or mailing list on Modula-2 topics.  It used to be
connected to comp.lang.modula2 and share a common message base, but it is
no longer, and has become somewhat dormant. You may receive the messages
that go to this list by sending the following message:
to:listserv@bitnic.bitnet or  listserv@bitnic.cren.net
subject:  <leave this line blank>
<body>
subscribe info-M2 Nellie Hacker  <use your first/last names>
HELP <this is an optional command for info on these mail lists>
Save the message that you get back from the list server.
   2.2.1 How do I post a message to info-m2?
    A. Mail it to info-m2@bitnic  Do not however, mail your listserv
commands to this address or everybody will get them
   2.2.2 Send a message to listserv@bitnic.bitnet as above, with the
command "index  info-m2" in the body.  You can then send a "get info-m2
logxxxx" command for specific message(s).
  2.3 Amiga lists
   2.3.1 A general list for Amiga Modula2/Oberon programming
This is available in a similar manner at "amiga-m2@virginia.edu". It is not
oriented toward any specific compiler.Mail to
"cbt-general-request@virginia.edu" to subscribe.
   2.3.2 A mailing-list concerning the discussion of anything in connection
with the Amiga Turbo Modula-2 Compiler written by Amritpal S. Mann. To
subscribe, send a message to maillist@econet.demon.co.uk with "SignOn
turbo-list" as the Subject. Once subscribed, you will receive a copy of all
messages sent to the address turbo-list@econet.demon.co.uk.
  2.4 Gardens Point Modula-2
A GPM mailing list has been set up.  To join the mailing list, send mail to
majordomo@dstc.qut.edu.au with the subject line blank and the body of the
message containing:
    subscribe gpm
    info gpm
    end
Any mail sent to gpm@dstc.qut.edu.au will get automatically forwarded to
all subscribers on the list. The development team are of course
subscribers.
 
 
3 WHERE CAN I GET MODULA-2 COMPILERS?
  3.1 Where can I get commercial Modula-2 compilers?
  In this section, the listings are by name of the manufacturer (marked M)
or distributor (marked D.)
 
ACE Associated Computer Experts bv
  activity  M
  products  Compilers, Operating systems and Consultancy
  platforms SPARC, 68K, Transputer and more
  office    Van Eeghenstraat 100
            1071 GL  Amsterdam
            The Netherlands
  contact   Kees Dik
  e-mail    kees@ace.nl
  voice     +31 20 6646416
  fax       +31 20 6750389
 
A+L AG
  activity  D
  products  Compilers, applications, and books.
  platforms various
  office    Daderiz 61
            CH-2540 Grenchen
            Switzerland
  contact   Albert Meier
  e-mail    almeier@lglsun.epfl.ch
  voice     +41/65/52 03 11
  fax       +41/65/52 03 79
 
Byte Works, Inc.
  activity  MD
  products  ORCA/Modula-2 for the Apple IIGS
  offices   8000 Wagon Mound Dr. NW
            Albuquerque NM 87120
  contact     Mike Westerfield
  voice     (505) 898-8183
  e-mail     MikeW50@AOL.COM
 
Edinburgh Portable Compilers, Ltd
  activity  MD
  products  EPC Modula-2
  platforms SCO Unix V.[34],
            Motorola 88000 UNIX V.[34],
            SPARC UNIX & Solaris,
            RS/6000 AIX
  office1   17 Alva Street
            Edinburgh, EH2 4PH, UK
  contact   Kathleen Smith
  e-mail    support@epc.ed.ac.uk
  voice     +44 131 225 6262
  fax       +44 131 225 6644
  office2   20 Victor Square
            Scotts Valley
            California 95066, USA
  USA tel   1-800-EPC-1110
 
Gardens Point
  activity  MD
  products  Gardens Point Modula-2
  platforms UNIX, Linux, DJGPP, Windows NT (no Mac)
            DOS (free to adopters of UNIX product)
  office    Queensland University of Technology
            Gardens Point Branch
            2 George Street
            POB 2434 Brisbane
            Queensland Australia 4001
  contact   John Gough
  e-mail    GOUGH@qut.edu.au
  voice     +61 7-864-2132
  fax       +61 7-864-1801
 
Mandeno Granville Electronics Ltd
  activity   MD
  products  80x51: Mod51 -  80x51 Cross Compiler, ISO extensions
  platforms DOS Hosted
  office    128 Grange Rd
            Auckland 3
            New Zealand
  contact
  e-mail
  voice     +64 9 6300 558
  fax       +64 9 6301 720
 
Metrowerks
  activity  M
  products  standalone and MPW hosted compilers
  platforms Macintosh
    NOTE: NO LONGER SUPPORTED, but probably still available from:
            Bookmasters
            POB 2039 Mansfield
            OH, USA 44905
            Tel +1 (800) 247-6553
            Fax +1 (419) 281 6883
 
ModulaWare
  activity  MD
  prod/plat Unix: MCS Modula-2 V4.4.5
            DEC VAX/OpenVMS & Alpha AXP/OpenVMS: MVR & MaX V4.0
            DOS/Windows: OM2 V1.1 (Modula-2 & Oberon-2 Compiler)
            Platform independent: OM2-XDS V2.03: (Oberon-2 and ISO M2)
  office1   ModulaWare Dotzel
            Meolans Revel
            F-04340 Le Lauzet
            France
    tel/fax +33 92.81.30.99
  office2   ModulaWare GmbH
            Haselbachstr. 113
            D-97653 Bischofsheim
            Germany
    tel/Fax +49 (9772) 7101
  contact   Guenter Dotzel
  e-mail    100023.2527@compuserve.com
 
p1 GmbH
  activity  MD
  products  MPW and Code Warrier hosted ISO compliant compilers
  platforms Macintosh
  office    Hogenbergstrasse. 20
            80686 Munich
            Germany
  contact   Elmar Henne
  e-mail    eh@p1.space.net
  voice     +49 89-546 13 10
  fax       +49 89-580 25 97
 
Real Time Associates Ltd.
  activity  D
  products  Compilers, books, and training courses
  platforms numerous
  office    Canning House 59
            Canning Road Croyden Surrey
            CR0 6QF UK
  voice     (+44) 081 656 7333
  fax       (+44) 081 655 0401
 
Stony Brook Software
  activity MD
  products  Stoneybrook Modula-2
  platforms DOS/Windows
  office    187 E. Wilbur, Suite 4
            Thousand Oaks
            CA 91360, USA
  contact   Norman Black
  e-mail    70274.611@compuserve.com
  voice     +1 (805) 496-5837
  BBS       +1 (805) 379-3357
 
TERRA Datentechnik
  activity  D
  products  Logitech and ??
  platforms DOS
  office    Bahnhofstrasse 33
            CH-8703 Erlenbach
            Switzerland
  voice     +41/1/910 35 55
  fax       +41/1/910 19 92
 
TopSpeed Corp (formerly Clarion)
  activity  MD
  products  Topspeed Modula-2
            CDBW (has Windows VID, can link with TopSpeed M2)
  platforms DOS, DOS Extender, MS-Windows 3.1 (with some work)
            OS/2
  office1   Clarion Software (Europe) Pty Ltd
            3 The Mansards, Tavistock Street
            Bedford, England, MK40 2RX
  voice    +44 234 267500
  fax      +44 234 217094
  office2   150 East Sample Road
            Pompano Beach
            FL  USA 33064
  voice    1-800-354-5444 (free call in US)
  voice2   1-305-785-4555 EXT. 105
  fax      1-305-946-1650
 
They also have a BBS (I never tried this) :
 
1-305-785-2594
 
  3.2 Where can I get a free/shareware compiler on the net?
Fitted Software Tools Modula-2 for DOS
  ftp://ftp.psg.com/pub/modula-2/pc/
 
Gardens Point Modula-2 for various platforms
  ftp://pluto.fit.qut.edu.au/pub/gpm_modula2/
 
MacLogimo for the Macintosh
  ftp://ftp.psg.com/pub/modula-2/mac/maclogimo/
 
MacMETH Modula-2 for Macintosh
  ftp://neptune.inf.ethz.ch/pub/macmeth/
  ftp://ftp.psg.com/pub/modula-2/mac/macMETH/
 
MOCKA - Modula Compiler Karlsruhe
Universitaet Karlsruhe
Institut fuer Programm- und Datenstrukturen
Vincenz-Priessnitz-Strasse 3
D-76128 Karlsruhe (FRG)
  Phone: *-49-721-608 6088        FAX: *-49-721-691462
  contact: Juergen Vollmer
  email: [modula|vollmer]@ipd.info.uni-karlsruhe.de
 
    -------------+---------------------+---------------------+
    SUN 4        | SUN OS              | SPARC               |
    SUN 4        | Solaris2.x/SunOS 5.0| SPARC               |
    DEC Station  | ULTRIX              | R3000, R2000 (MIPS) |
    Silicon      | IRIX                | R3000, R2000 (MIPS) |
      Graphics   |                     |                     |
    Sony NEWS    | News                | MC 68020 with 68881 |
    SUN 3        | SUN OS              | MC 68020 with 68881 |
    HP 9000/300  | HPUX                | MC 68020 with 68881 |
    HP 9000/700  | HPUX                | C back end          |
    RS6000       | AIX                 | C back end          |
    PC           | Linux               | 80386               | +
    PC           | 386BSD              | 80386               | +
    C-back end   | UNIX                | different           |
    translates   |                     |                     |
    M-2 To C     |                     |                     |
    -------------+---------------------+---------------------+
 
The versions marked with a + are free, i.e. no order form must be sent, no
license fee to be paid. If you use them, please send an email to
modula@ipd.info.uni-karlsruhe.de.
 
Turbo Modula-2 for Amiga
  (contact Amritpal Mann, Turbo@econet.demon.co.uk)
  Amiga Turbo Modula-2 may be obtained from your favourite AmiNet site as
the following files:
        /pub/aminet/dev/m2/TurboV1.3Part1.lha
        /pub/aminet/dev/m2/TurboV1.3Part2.lha
 
 
4 WHERE CAN I GET SOURCE CODE AND OTHER INFORMATION/LIBRARIES?
  4.1 Is there source available on the net?
   A. Here are some net sites I have accessed at one time or another.  I am
not sure if all are still available or what is in them.
   ftp://ee.newcastle.edu.au/pub/modula2/
   ftp://ftp.psg.com/pub/modula-2/
   ftp://ftp.twu.ca/FTP/pub/modula2/ ( Home of this FAQ)
   ftp://neptune.inf.ethz.ch/pub/
   ftp://NIC.SWITCH.CH
   ftp://sageftp.inel.gov/ftp/pub/sage/
   ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/
 
Modula-2 to Modula-3
 
ftp://ftp-i3.informatik.rwth-aachen.de/pub/Modula-3-Contrib/m2tom3/m2tom3-2.
00.tar.gz  (more info: pk@i3.informatik.rwth-aachen.de)
 
WWW sites
 http://www.stfx.ca/people/jandrea/welcome.html
 http://www.info.apple.com/dev/devinfo/languages.html (sparse M2 compiler info)
 
  4.2 What other FAQs are available.
    A. Try      http://ee.newcastle.edu.au/pub/modula2/Modula2.html
  4.3  Where can I find graphics libraries, etc?
    A1. Try the PMOS library at
  file://ee.newcastle.edu.au/pub/PMOS/PMOS.html
    A2. there is a graphics library MultiGraph for TopSpeed and Stony
BrookModula2 compilers for PCs, available from
     ftp://garbo.uwasa.fi/pc/programming/
 
  4.4  Where can I get a Modula-to-C converter?
    A: The program mtc is available by anonymous ftp from
      file://ftp.psg.com/pub/modula-2/grosch/mtc.tar.Z
      file://ftp.ira.uka.de/pub/programming/cocktail/mtc.tar.Z
      file://rs1.rrz.uni-koeln.de/usenet/comp.archives/languages/modula-2/mtc
         An already ported version for DOS+DJGPP can be found at at
      file://ftp.uni-stuttgart.de/pub/unix/programming/compilerbau/dos/mtc/
 
  4.5 Are there any Modula-2 applications around?
    A. The Idaho National Engineering Laboratory (INEL) develops and
maintains a now ~350,000 line public domain MODULA-2 reusable component
library called SAGE. For more information on SAGE send E-Mail to
hotline@sage.inel.gov and see the FTP server at
ftp://sageftp.inel.gov/ftp/pub/sage/.
 
  4.6 Is there a Modula-2 version available for parallel processing?
    A. IPD Modula-2* team has released version 9401 of the new Modula-2*
programming environment for several architectures.
You can get the IPD Modula-2* distributions for all supported architectures
by anonymous ftp from ftp://ftp.ira.uka.de/pub/programming/modula2star/
Please do not forget to use binary mode when retrieving any of them!
Register your copy with the registration secretary: "ipdm2s@ira.uka.de"
For further information and bug reports please contact the IPD Modula-2*
team at "msc@ira.uka.de".
 
  4.7 Can you help me with my assignments?
  A. Some people may give you some hints, but please do not subvert your
professor and your own education by submitting work that other people have
done for you.
 
5 WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2?
A.  Some shareware materials I have written are available in
ftp://FTP.twu.ca/FTP/pub/modula2/Modula-2Text/
 
  Note that the manuals for some of the commercial products such as
TopSpeed contain much useful information.
 
What follows is a bibliography of some published materials in a table
delimited by two spaces between fields:
 
Author  Title  City  Publisher  Year  Subject
 
        Adams, J. Mack Gabrini, Philippe J & Kurtz, Barry L.  An
Introduction to Computer Science with Modula-2  Lexington, MA  D.C. Heath &
Co  1988
        Beidler, John & Jackowitz, Paul  Modula-2  Boston  Prindle Weber &
Schmidt  1985
        Budgen, David  Software Development with Modula-2  Reading, MA
Addison-Wesley  1989
        Chirlian, Paul M.  Introduction to Modula-2  Beaverton, Or.  Matrix
Publishers
        Christian, Kaare  A guide to Modula-2  New York  Springer-Verlag  1986
        Cooling, J.E.  Modula-2 for Microcomputer Systems    Van Nostrand
Reinhold  1988
        Cooper, Doug  Oh My!  Modula-2!  New York  Norton  1990
        Cornelius, Barry  Programming with TopSpeed Modula-2  Reading, MA
Addison Wesley  1991
        Eisenbach, Susan & Sadler, Cristopher  Program Design with Modula-2
Reading, MA  Addison-Wesley  1989
        Etling, Don  Modula-2 Programmer's Resource Book  Blue Ridge
Summit, PA  Tab Books  1988
        Feldman, Michael B.  Data Structures with Modula-2  Englewood
Cliffs, NJ  Prentice Hall  1988
        Ford, Gary & Wiener, Richard.  Modula-2: A Software Development
Approach  New York  Wiley  1985
        Gleaves, Richard  Modula-2 for Pascal Programmers  New York
Springer-Verlag  1984
        Gough, K. John & Mohay, George M.  Modula-2: A Second Course In
Programming  Englewood Cliffs, NJ  Prentice Hall  1988
        Greenfield, Stuart B.  Invitation to Modula-2    Petrocelli Books  1985
        Harrison, Rachael  Abstract Data Types in Modula-2  New York  Wiley
1989 Wiley
Harter, Edward D  Modula-2 Programming: A First Course  Englewood Cliffs,
NJ  Prentice Hall  1990
        Harter, Edward D.  Modula-2 Programming.  A First Course  Englewood
Cliffs, NJ  Prentice-Hall  1990
        Helman, Paul & Veroff, Robert  Walls and Mirrors: Intermediate
Problem Solving and Data. Modula-2  Menlo Park, CA  Benjamin Cummings  1988
        Hewitt, Jill A. & Frak, Raymond J.  Software Engineering in
Modula-2:  an object-oriented approach   London  Macmillan  1989.
Hille, R.F.  Data Abstraction and Program Development Using Modula-2
Sydney  Prentice Hall  1989
        Hopper, Keith.  The Magic of Modula-2  Melbourne  Prentice Hall  1991
        Jones, William C. Jr.  Data Structures Using Modula-2  New York
Wiley  1988
        Jones, William C. Jr.  Modula-2 Problem Solving and Programming
with Style  New York  Harper & Row  1987
        Joyce, Edward J.  Modula-2: A Seafarer's Manual & Shipyard Guide
Reading, MA  Addison-Wesley   1985
        Kaplan, Ian & Miller, Mike  Modula-2 Programming  Rochelle Park, NJ
Hayden Book Co.  1986
        Kelly-Bootle, Stan  Modula-2 Primer    Howard W. Sams & Co.  1987
        King, K.N.  Modula-2: A Complete Guide  Lexington, MA  D.C. Heath &
Co  1988
        Knepley, Ed & Platt, Robert  Modula-2 Programming  Reston, VA
Reston Pub. Co.  1985
        Koffman, Elliot B.  Problem Solving and Structured Programming in
Modula-2  Reading, MA  Addison-Wesley  1988
        Leestma, Sanford & Nyhoff, Larry  Programming & Problem-Solving in
Modula-2  New York  Macmillan  1989
        Lins, C. (Charles)  The Modula-2 Software Component Library Volumes
I-IV  New York  Springer-Verlag  1989-
        Mayer, Herbert G.  Programming in Modula-2.  the Art & the Craft
New York  Macmillan  1988
        McCracken, Daniel D. & W. Salmon  A Second Course in Computer
Science with Modula-2  New York  Wiley  1987
        Messer, P. A. & I. Marshall  Modula-2 Constructive Program
Development  Oxford  Blackwell Scientific Publications  1986
        Metrowerks, Inc. Staff  Metrowerks Modula-2 Start Pak  New York
Macmillan  1990
        Moore, John B. & McKay, Kenneth N.  Modula-2 Text and Reference
Englewood Cliffs, NJ  Prentice-Hall  1987
        Novak, M.M.  Modula-2 in Science & Engineering  London  McGraw  1990
        Nyhoff, Larry & Leestma ,Sanford  Data Structures & Advanced
Programming in Modula-2  New York  Macmillan  1990
        Ogilvie, John W. L.  Modula-2 Programming  New York  McGraw-Hill  1985
        Pinson, Lewis Sincovec, Richard & Weiner, Richard  A First Course
in Computer Science with Modula-2  New York  Wiley  1987
        Pomberger, Gustav.   Software Engineering and Modula-2  Englewood
Cliffs, NJ  Prentice Hall  1984
        Rechenberg, P. & Mssenbck, H. (tr. O'Meara, John)  A Compiler
Generator for Microcomputers  Englewood Cliffs, NJ  Prentice Hall / Carl
Hanser Verlag  1989
        Riley, David D.  Data Abstraction and Structures: An Introduction
To Computer Science II  Boston  Boyd & Fraser Pub. Co.  1987
        Riley, David D.  Using Modula-2: An Introduction To Computer
Science I  Boston  Boyd & Fraser Pub. Co.  1987
        Sale, Arthur H. J.  Modula-2: Discipline & Design  Sydney
Addison-Wesley  1986
        Sawyer, Brian & Foster, Dennis.   Programming Expert Systems in
Modula-2  New York  Wiley  1986
        Schildt, Herbert  Advanced Modula-2  Berkeley, CA  Osborne
McGraw-Hill  1987
        Schildt, Herbert  Modula-2 Made Easy  Berkeley, CA  Osborne
McGraw-Hill  1986
        Schiper, Andre; (tr. Howlett, Jack)  Concurrent programming:
Illustrated With Examples in Portal, Ada, and Modula-2    Halsted Press
1989
        Schnapp, Russell L.  Macintosh Graphics in Modula-2  Englewood
Cliffs, NJ  Prentice-Hall  1986
        Sincovec, Richard F. & Richard S. Wiener.   Data Structures Using
Modula-2  New York  Wiley  1986
        Sincovec, Richard F. & Wiener, Richard S.  Modula-2 Software
Components  New York  Wiley  1987
        Stubbs, Daniel F. & Webre, Neil W.  Data Structures With Abstract
Data Types and Modula-2  Monterey, CA  Brooks/Cole Pub. Co.  1987
        Sutcliffe, Richard J.  Introduction to Programming Using Modula-2
Columbus, OH  Merrill  1987
        Sutherland, Robert J.  The Professional Programmer's Guide to
Modula-2  London  Pitman  1988
        Terry, Patrick D.  An Introduction To Programming with Modula-2
Reading, MA  Addison-Wesley  1987
        Thalmann, Daniel  Modula-2: An Introduction  New York
Springer-Verlag  1985
        Tremblay, Jean-Paul DeDourek, John M. & Daoust, David A.
Programming in Modula-2  New York  McGraw-Hill  1989
        Tucker, Allen B. Jr.  Computer science: A Second Course Using
Modula-2  New York   McGraw-Hill  1988
        Ural, Saim & Ural, Suzan  Introduction to Programming with Modula-2
New York  Harper & Row  1987
        Walker, Billy K  Modula-2 Programming With Data Structures
Belmont, CA  Wadsworth Pub. Co.  1986
        Walker, Robert D.  Modula-2 Library Modules: A Programmer's
Reference  Blue Ridge Summit, PA  Tab Books  1988
        Ward, Terry A.  Advanced Programming Techniques in Modula-2
Glenview, IL  Scott Foresman  1987
        Welsh, Jim & Elder, John  Introduction to Modula-2  Englewood
Cliffs, NJ  Prentice-Hall  1987
        Wiatrowski, Claude A. & Wiener, Richard S.  From C to Modula-2--and
Back - Bridging The Language Gap  New York  Wiley
        Wiener, Richard  Modula-2 Wizard's Programming Reference  New York
Wiley  1986
        Wiener, Richard & Ford, G.  Modula-2 A Software Development
Approach  New York  Wiley  1985
        Wiener, Richard & Sincovec, R. F.  Software Engineering with
Modula-2 and Ada  New York  Wiley  1984
        Wirth, Niklaus  Programming in Modula-2 (3rd corrected ed.)  New
York  Springer-Verlag  1985
        Wirth, Niklaus  Algorithms and Data Structures (1986 edition)
Englewood Cliffs, NJ  Prentice-Hall  1986
        Wirth, Niklaus  Programming in Modula-2 (4th ed.)   New York
Springer-Verlag  1990
        Woodman, Mark et al  Portable Modula-2 Programming  Maidenhead,
Berkshire UK  McGraw-Hill  1989
 
6. REVIEWS OF MODULA-2 PRODUCTS.
 
Note:  This section is experimental.  The reviews have been contributed by
others and I take no responsibility for their accuracy or for any opinions
expressed therein.
 
p1 Modula-2 v5.2 for Macintosh, by Marc Martin, Dec 1994.
This is an excellent Modula-2 compiler, implemented as an MPW Tool.
Highlights include ISO language extensions & library, a full set of
Macintosh toolbox definitions, language extensions to simplify toolbox
programming, object-oriented extensions and support for MacApp, greater
than 32k code and globals, code generation comparable to Apple's
official compilers, several FPU code options, multi-window debugger,
linkable with other MPW languages, detailed documentation, and superb
technical support via e-mail.  Downsides include high cost (US$400),
dependency on MPW, lack of SADE support, and no native PowerPC version.
Version 5.3 is in alpha testing, and adds ANSI C output for creating
PowerPC programs under MPW or CodeWarrier.
 
Appendix: AUTHOR INFORMATION AND DISCLAIMERS
 
Personal: I have used, written about, and taught Modula-2 (since 1983) and
have maintained some of the information in this list for over four years. I
have used at least a dozen different compiler/environments in that time on
five different platforms, and have written numerous articles and reviews
for publication.  I have been a member of the ISO committee WG13 (Modula-2
standardization) since its inception and have participated in all the
debates and meetings of WG13 except for meeting #9 at Lake Wanaka.  I have
written a text on Modula-2, made numerous submissions to WG13 and directed
an experimental implementation of the ISO I/O library in order to verify
its concepts.
 
Disclaimers: (i) I take no responsibility for anyone's use or misuse of
this information.  The words "I" and "me" refer in most cases either to
myself, or to the submitter.  Original wording of submitters has often been
retained but names have been removed to protect the innocent. I do not
claim to have knowledge of all aspects of the Modula-2 scene myself, and
for items I do not use myself, I rely on others as noted.
     (ii) Apart from having been a beta tester, textbook writer, programmer
and a long time user of Modula-2, I have no financial connection with any
manufacturer, or distributor of software whatsoever.  I am the author of
some Modula-2 materials as noted herein.
     (iii) In producing this material, am NOT acting in an official
capacity for Trinity Western University, WG 13, comp.lang.modula2, or any
other organization or company.
     (iv) Mention of a book or product herein does NOT constitute an
endorsement or recommendation unless specifically noted as such.
     (v) Inclusion of materials on this list is based on relevance to
Modula-2 and factual content and is without prejudice to the race,
religion, nationality, language (including dialect of Modula-2), or
political views of the principals involved in producing the materials or
making the submissions.  I reserve the right to edit all submissions for
brevity, clarity, and usage.
     (vi) This FAQ is not in any way related nor does it reference an older
FAQ occasionally still posted on comp.lang.modula2.
 
To remain authoritative, this and all versions of this FAQ whether indexed,
recorded, or transmitted in any form are copyright 1991-1995 by Rick
Sutcliffe.  This document may be freely copied and distributed provided its
content is not materially altered and no fee is charged for its
distribution with the exception of normal downloading costs.
 
Compiled by:
Rick Sutcliffe         aka "The Northern Spy" in the old days
Trinity Western University
7600 Glover Rd.,
Langley, B.C. Canada
    V3A 6H4
(604) 888-7511  Fax 888-5336  mailto:rsutc@twu.ca
 
 
Rick Sutcliffe Assoc. Prof. Math/Cmpt Trinity Western University
7600 Glover Rd., Langley BC CANADA V3A 6H4  <<Not an official spokesperson>>
