Article View: comp.lang.modula2
Article #2878Modula-2 FAQ/part1
From: Rick Sutcliffe, Modula-2 FAQ mai...
Date: Thu, 05 Oct 1995 09:50
Date: Thu, 05 Oct 1995 09:50
609 lines
23143 bytes
23143 bytes
Archive-name: computer-lang/Modula2-faq/part1
Version: 2.0
Last-modified: 1995 09 27
Posting-frequency: Monthly
Modula-2 Frequently Asked Questions
Whats new in version 2.0
The entire document is maintained in HTML, and the markup is stripped for
mailing to the newsgroup. The HTML version at TWU should be much better
for this effort. There is some new/revised vendor and site info. FST
has a new version and a new mirror; m2tom3 has a new version and a new
section here. So does PMI for their products and their page. There is a
new subject heading for the parts. The mystery of WG13 is clarified (I
think.) My Modula-2 text on the web at
http://www.twu.ca/faculty/fnas/math/rsbook/Welcome.html should be easier
to reach as TWU is connected by T1 and routing changes should now be
propagating. (really this month?)
It is being mirrored at http://eiunix.tuwien.ac.at/Modula-2/rsbook/
=====================================================
SUMMARY:
1. Answers to frequently asked questions about Modula-2 will be collected
at Trinity Western University and included in this document from time to
time as it is revised.
2. Submissions should be mailed to -- mailto:rsutc@twu.ca
Anyone making a submission guarantees that they have the right to do so
(copyright holder, or information in the public domain.) and that the
information is not from any source whose copyright lies with another.
3. I will update this summary file and post to the newsgroups
comp.lang.modula2 and to comp.answers and news.answers
4. The latest version will always be available in a Nisus (Mac) form in
ftp://FTP.twu.ca/FTP/pub/modula2/FAQ The folder modula2 has a variety of
other materials. This version of the FAQ is readible 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-faq.
5. An automatically generated .html version of the FAQ is available as
http://www.cis.ohio-state.edu/hypertext/faq/usenet/computer-lang/Modula2-
faq/part1/faq.html
and
http://www.cis.ohio-state.edu/hypertext/faq/usenet/computer-lang/Modula2-
faq/part2/faq.html
In addition, the main HTML version will be maintained at ftp.twu.ca, as
ftp://FTP.twu.ca/FTP/pub/modula2/m2faq.html
=====================================================
CONTENTS:
Part 1
1. WHAT IS MODULA-2?
2. WHERE IS MODULA-2 DISCUSSED?
3. WHERE CAN I GET MODULA-2 COMPILERS?
Part 2
4. WHERE CAN I GET SOURCE CODE, OTHER INFO?
5. SPECIFIC QUESTIONS ON CODE AND ALGORITHMS
6. WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2?
7. 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?
A. Modula-2 was developed by Niklaus Wirth at ETH in Zurich, Switzerland
in the late 70's. Wirth also developed Pascal and Oberon.
see: http://www.stfx.ca/people/jandrea/m2/nwirth/
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 herein as classical Modula-2.
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 Can I get a simple introduction to Modula-2?
Yes, at http://www.twu.ca/faculty/fnas/math/rsbook/Welcome.html
Mirrors: http://eiunix.tuwien.ac.at/Modula-2/rsbook/
1.5 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.6 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 libraries rather than built in. The
IF statement is more versatile; and there are facilities for concurrent
programming via coroutines.
1.7 What is ISO Standard Modula-2?
A. A committee of ISO JTC1/SC22/WG13 with delegates from several
countries has met since 1987 to work on a standard description of Modula-
2 and a set of standard library modules.
1.7.1 What is the status of ISO Standard Modula-2?
A. The international standard (IS 10514) has been voted on and will be
official as soon as the comments have been attended to.
1.7.2 Where can I get the Modula-2 standard?
A1. Contact your national standards body or the IEEE.
A2. Try looking in ftp://titania.mathematik.uni-
ulm.de/pub/soft/modula/standard/draft4/
1.7.3 What format is the standard document in?
A. Latex.
1.7.4 Who is the convenor of the standards group (WG13)?
A. Mark Woodman at m.woodman@open.ac.uk.
NOTE: Mark Woodman has not been available for some time, and Kees Pronk
c.pronk@twi.tudelft.nl has been appointed by SC22 as interim convenor of
WG13.
1.7.5 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.
A2. Much of the document's details are 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 worth learning VDM-SL if you plan to write a compiler or
take a course in formal methods.
1.7.6 Can I at least get electronic copies of the definition modules?
A. Yes, in ftp://FTP.twu.ca/FTP/pub/modula2/ISOLibraries/ISODEFMods/ or
ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/
1.8 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.8.1 What else is WG13 doing?
A. WG13 is working on two additional standards (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.9 What is (was) Turbo Modula-2
A. Borland prepared CP/M versions of Modula-2 and sold them for a time in
Europe (also in North America via a distributer. One of these versions
later migrated to become TopSpeed Modula-2.
1.10 Where and for what is Modula-2 used?
A1. 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.
A2. The following survey results were recently posted by Mat. Maher
ssu94114@reading.ac.uk
ORGANISATION LOCATION WORK COMPILER
Statoil Norway StonyBrook
Inst. for Space Nerology Austria datafile conversion TopSpeed
dataviewers
Boeing Washington Aerospace Eng. p1(MAC)
Oregon(VAX)
CDSS UK embedded control sys. TopSpeed
for submarines
self-employed UK embedded pos and TopSpeed
po-like chips
manufacturer Finland, 8051 embedded control Mod51
S.Africa,
Australia,
NZ, USA
Pacific Sorftware California Point-Of-Sale systems -
Tele-Soft S. Africa Scientific CAD progs TopSpeed
Databases
------------- UK Instrumentation & TopSpeed &
telemetry Custom tools
USA Dept. of Energy Idaho Reusable components StonyBrook
systems programming
GiaStar Ltd UK Satcoms/Comms. Elect. TopSpeed
design & m/facture.
University of Reading UK Teaching,embedded ctrl TopSpeed
1.12 Why do universities use Modula-2 for teaching instead of C
or C++?
A. Modula-2 is a type-safe language and its compilers will therefore
catch many errors that otherwise show up at run time. While professional
programmers need to learn C because it is commonly used, it is important
to begin a discipline of deliberat, engineered programming at the outset.
1.13 Why is Modula-2 a good language for large commercial
projects?
A1. It supports modular design which reduced errors and cuts down on
maintenance time. This also allows platform dependencies to be isolated,
increasing portability.
A2. see: Griffith, Laurie Modula-2 is three times less error prone than
C, Proceedings of the Second International Modula-2 Conference,
Loughborough University of Technology, UK, September 1991, pp 332-338.
1.14 Where do I get information on Oberon and Modula-3?
A. These 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 (more or less dead)
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: listproc@list.cren.net
subject : leave this line blank
body
subscribe info-M2 Nellie Hacke r 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@list.cren.net Do not however, mail your listserv
commands to this address or everybody will get them
2.2.2 Send a message to listproc@list.cren.net 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), or a help command to learn how to use
the listserv.
2.3 Compuserve
If you have a Compuserve account, GO CODEPORT to join the portable
programming forum.
2.4 Amiga lists
2.4.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.4.2 A mailing-list for 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.5 Gardens Point Modula-2
To join the GPM 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
Mail sent to gpm@dstc.qut.edu.au gets 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 aplusl@spectraweb.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 +441 131 225 6262
fax +441 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 Linux, DJGPP, EMX (OS/2) and MS-DOS (no Mac)
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
contact Jeffrey Ledermann
e-mail lederman@dstc.qut.edu.au
web http://www.fit.qut.edu.au/CompSci/PLAS/GPM/
voice +61 7-864-2132
fax +61 7-864-1801
see mail list and net sections
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; Code Warrier environment
platforms Macintosh
NOTE: Modula-2 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
(see p1 GmbH)
ModulaWare
activity MD
prod/plat Unix (680x0, SunSparc, I386, Linux, OS/9): MCS Modula-2 V4.5
DEC VAX/OpenVMS & Alpha AXP/OpenVMS: MVR & MaX V4.0
DOS/Windows: OM2 V1.1 (Modula-2 & Oberon-2 Compiler)
DOS/Windows: Mithril V2 GUI/IDE/OOP-API for OM2
All platforms: OM2-XDS V2.06: (Oberon-2 and ISO Modula-2,
generating ANSI C, with ANSI C source of ISO Modula-2 library)
office1 ModulaWare
La Chanenche
F-04340 Meolans Revel
France
tel/fax +33 92.81.30.99
contact Guenter Dotzel
e-mail 100023.2527@compuserve.com
office2 ModulaWare
Haselbachstr. 113
D-97653 Bischofsheim
Germany
tel/Fax +49 (9772) 7101
Neuhoff, Juergen
activity MD
products 32-bit Modula-2 (non-ISO)
platforms OS/2
e-mail 76721.303@CompuServe.com
demo Try: ftp-os2.nmsu.edu/os2/dev32/MOD201H.ZIP
p1 GmbH
activity MD
products MPW and Metrowerks 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
PMI Software
activity MD
products Modula-2 tools; dealer for Mandino Granville (see above)
platforms DOS and OS/2
contact John McMonagle
office PO Box 8402
Green Bay WI 54311
voice 414-468-6040
fax 414-465-0464
bbs 414-465-1656
e-mail johnm@online.dct.com
web http://www.dct.com/~johnm/
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 (32-bit Windows ISO compiler coming RSN)
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
Windows debugger WID available on Compuserve or on BBS)
platforms DOS, DOS Extender, MS-Windows 3.1 (with some work)
OS/2
office1 Clarion Software (Europe) Ltd.
Clare House, Thompsons Close
Harpenden, Herts, UK, AL5 4ES
voice +441 582 763 200
fax +441 582 768 222
tech sup +441 582 763 999
BBS +441 582 763 666
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
BBS 1-305-785-2594
retail http://www.singnet.com.sg/customers/cirrus/cirrus1.htm
XDS
activity M
products Modula-2/Oberon-2 to ANSI C translator
platforms many
e-mail ned@iisnw.iis.nsk.su
see ModulaWare (above) for product availability
A free evaluation kit for pc/dos is available as xds from
ftp://ftp.sun.ac.za/pub/oberon/om2-xds
ftp://ftp.itek.norut.no/pub/torbjorn/xdsnc207.zip
http://andy.iis.nsk.su/pub/xds/xdsnc207.zip (slow)
ftp://ftp.dct.com/pub/pmi
XDS_man_ps.zip postscript version of the manual
XDS206msdosDEMO.zip msdos demo
XDS206os2DEMO.zip os/2 demo
XDS205macDEMO.zip Mac demo
3.2 Where can I get a free/shareware compiler on the net?
Note: A net project to produce an OS/2 version of Modula-2 has
apparently died in the light of impending commercial releases.
Fitted Software Tools Modula-2 for DOS
ftp://ftp.psg.com/pub/modula-2/fst/fst-35s.lzh
ftp://cs.ru.ac.za/pub/languages/fst-35s.lzh
P. O. Box 867403 Plano, TX 75023 USA
contact: Roger Carvalho
e-mail: rogerc@metronet.com
Gardens Point Modula-2 for various platforms
ftp://pluto.fit.qut.edu.au/pub/gpm_modula2/
ftp://ftp.psg.com/pub/modula-2/gpm
(The EMX version runs under OS/2 in protected mode and can be used to
generate OS/2 PM applications. It relies on the GNU tools from the EMX
package ported by Eberhard Mattes mattes@azu.informatik.uni-stuttgart.de
which can be found at: ftp.uni-stuttgart.de/pub/systems/os2/ and various
other mirror sites.
MacLogimo for the Macintosh
ftp://ftp.psg.com/pub/modula-2/mac/maclogimo/
MacMETH Modula-2 for Macintosh
ftp://ftp.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; 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.
For more information have a look to
http://i44www.info.uni-karlsruhe.de/~vollmer/mocka.html
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
Rick Sutcliffe Assoc. Prof. Math/Cmpt Trinity Western University
7600 Glover Rd., Langley BC CANADA V2Y 1Y1 <<Not an official spokesperson>>
Technical Details
Message-ID:
<computer-lang/Modula2-faq/part1_812886546@rtfm.mit.edu>Path:
arc1-ca.pugleaf.net!senator-bedfellow.mit.edu!faqservShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!senator-bedfellow.mit.edu!faqserv From: rsutc@twu.ca (Rick Sutcliffe, Modula-2 FAQ maintainer) Newsgroups: comp.lang.modula2,comp.answers,news.answers Subject: Modula-2 FAQ/part1 Supersedes: <computer-lang/Modula2-faq/part1_812210189@rtfm.mit.edu> Followup-To: comp.lang.modula2 Date: 5 Oct 1995 09:50:45 GMT Organization: none Approved: news-answers-request@MIT.EDU Distribution: world Message-ID: <computer-lang/Modula2-faq/part1_812886546@rtfm.mit.edu> NNTP-Posting-Host: bloom-picayune.mit.edu Summary: This file contains the answers to some commonly asked questions about the programming language Modula-2. Keywords: languages, Modula-2 X-Last-Updated: 1995/09/27 Originator: faqserv@bloom-picayune.MIT.EDU