Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

Modula-2 FAQ/part1

( Part1 - Part2 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Neighborhoods ]
Archive-name: computer-lang/Modula2-faq/part1
Version: 2.33
Last-modified: 2009 05 08
Posting-frequency: Monthly

See reader questions & answers on this topic! - Help others by sharing your knowledge
                 Modula-2 Frequently Asked Questions

What is new in version 2.33 (2009 05 08)?
It's been two years and little has happened until quite recently, when a sp=
ate of corrections arrived. Some defunct sites are now no longer referenced=
 here. Some miscellaneous comments have been inserted in a number of places=
 and a few corrections made, including to some links that had moved.
The material that was at 4.6 on Modula-3 converters is defunct and 4.7-4.11=
 have been renumbered. There is a new answer at 4.12 to a rather odd questi=
on on linkers. Section 1.11 has a new entry at A11. The murus entry under 4=
.1.1 is new. The GCC version has moved. The Megamax Atari project has been =
reinstated with a new link. Objective Modula-2 is still alive, but has a ne=
w info site. The section at 1.17 has been reorganized to split the question=
. A question on the iPhone has been added at 1.19.
The StonyBrook material has been rewritten to reflect its new owner. The re=
views section has been dropped as its material is defunct.
At some point in the not too distant future I plan to split the FAQ into tw=
o sections--one for current material, one for legacy info. All help is welc=
ome. I have not systematically checked for dead links at this point.
What was new in version 2.32 (2007 01 25)?
Invalid links pointed out have been removed.
The forum alternative to the Usenet news group at ArjayBB.com (section 2.2.=
1) has been removed. It wasn't being used, the connection was hard to maint=
ain, and bulletin boards get too much spam.
The summary section 3.3 has been revised and expanded to all major platform=
s. Note made that GPM does not run on solaris 10 but the ULM compiler does.=
 Some information has been removed at the request of manufacturers, who wis=
h the only point of contact to be the web. One old spelling error corrected=
 (thanks Keith) and the GPM http links corrected. The p1 section has been r=
evised to reflect new products. Under 1.11 (what is Modula-2 used for) answ=
ers have been expanded and a new section (A10) added. The MegaMax Atari pro=
duct has been removed as the links appear no longer functional. The MOCKA l=
inks have been altered and pruned. The GNU link was revised, and numerous s=
mall changes were made throughout.


SUMMARY:
1. Answers to many questions about Modula-2 as a programming notation may b=
e found in the shareware textbook. As always, users should pay the sharewar=
e fee. See section 1.4.

2. Answers to most other frequently asked questions about Modula-2 will be =
collected by Rick Sutcliffe at Trinity Western University and included in t=
his document from time to time as it is revised.

3. Submissions should be mailed to -- rsutc-AT-arjay.bc.ca(modify address i=
n the obvious way)
Anyone making a submission guarantees that they have the right to do so (co=
pyright holder, or information in the public domain.) and that the informat=
ion is not from any source whose copyright lies with another.

4. I will update this summary file and post to the newsgroups comp.lang.mod=
ula2 and to comp.answers and news.answers

5. The latest version will always be available in a Nisus (Mac) form in
http://www.arjay.bc.ca/Modula-2/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 deficiencie=
s of Pascal. It is suitable for learning programming, for large projects wr=
itten and maintained in the fashion of professional software engineers, and=
 for real time embedded systems. Modula-2 is small, expressive, easy to lea=
rn, and to read.

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 Algol-W, Pascal, Modula, and Oberon an=
d the Lilith computer, a natively Modula-2 machine (see section 1.15).

1.2 Where is this language described?
A. In Programming in Modula-2 3rd edition published by Springer-Verlag in 1=
985. For the purposes of distinguishing this from later variants, this desc=
ription 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 ve=
art.

1.4 Can I get a simple introduction to ISO Modula-2?
Yes, the latest revised and corrected edition of the shareware text as of 2=
004 is at  http://www.modula-2.com/
Mirror (for the text, not the FAQ): TWU http://www.csc.twu.ca/rsbook/index.=
html


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 versi=
ons of these. The latter languages are not replacements for  Modula-2, mere=
ly later notations in the same family, having strengths and weaknesses of t=
heir own. Modula-2 is sometimes classified with Ada and C as the trio of mo=
dern languages in view of their expressive power. Modula-2 is smaller and m=
ore readable than either.

1.6 What are the differences between Modula-2 and Standard Pascal?
A. Modula-2 has separately compiled library modules, and makes much less us=
e of blocks (begin...) than Standard 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 pr=
ogramming via coroutines. Extended Pascals may have some of these features.

1.7 What is ISO Standard Modula-2?
A. A committee of ISO JTC1/SC22/WG13 with delegates from several countries =
met from 1987 to work on a standard description of Modula-2 and a set of st=
andard library modules.

A2. The official home of the ISO Modula-2 working group WG13 is at http://s=
c22wg13.twi.tudelft.nl/

1.7.1 What is the status of ISO Standard Modula-2?
A. The international standard (IS 10514) was voted on and is official. The =
Object oriented extensions and Generic extensions were also voted on and ar=
e official.

1.7.2 Where can I get the Modula-2 standard?
A1. Contact your national standards body or ISO (the publisher.)

A2. For a slightly older version, try looking in ftp://ftp.mathematik.uni-u=
lm.de/pub/soft/modula/standard/draft4/

1.7.3 What format is the standard document in?
A. Latex.

1.7.4 Who was the convenor of the standards group (WG13)?
A. Martin Schoenhacker of Vienna was the last convenor.

1.7.5 When was the last WG13 meeting?
A1. It was March 17-18 1997 in Linz, Austria. For more details, follow http=
://sc22wg13.twi.tudelft.nl/docs/meetings.html

1.7.6 When is the next WG13 meeting?
A1. No meeting is currently on the schedule. One may be held if necessary t=
o do routine maintenance on the standards, but at this time WG13 is in main=
tenance mode--not operating actively.

1.7.7 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 base document's details are written in VDM-SL (Vienna Devel=
opment Method - Specification Language) which is a formalism for giving a p=
recise definition of a programming language in a denotational style. It is =
worth learning VDM-SL if you plan to write a compiler or use formal methods=
 to do any design work.

1.7.8 Can I at least get electronic copies of the definition modules?
A. Yes, in ftp://FTP.twu.ca/pub/modula2/ISOLibraries/ISODEFMods/or ftp://ft=
p.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/

1.7.9 Can I get ISO library code to port?
A. Yes, a partial ISO library is available from Rick Sutcliffe, the FAQ mai=
ntainer. He has done an ISO I/O library for the Mac, and StonyBrook ported =
this to their system. Anyone else is welcome to do a port provided: (1) TWU=
 gets a license to the software produced (2) All code changes are marked an=
d submitted to Rick Sutcliffe for the benefit of anyone else who wants to d=
o a port.

1.7.10 Can I get copies of the grammar?
A1. Yes, in http:/www.arjay.bc.ca/Modula-2/Text /Appendices/Ap3.html
A2. For classical Modula-2, see also CocoCoco (section 4.9)
A3. There are nice syntax diagrams for classical Modula-2 in http://cuiwww.=
unige.ch/db-research/Enseignement/analyseinfo/Modula2/BNFindex.html
and there are syntax diagrams for ISO Modula-2 stored at
http://www.arjay.bc.ca/Modula-2/Text/Appendices/Ap2.html

1.8 What difference is there 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 terminat=
ion (FINALLY clause) and a complete standard I/O library. There are numerou=
s minor differences and clarifications.

1.8.1 What else has WG13 done?
A. WG13 has completed two additional standards (separate from the main one)=
 for (a) object oriented Modula-2 and (b) generic programming facilities. O=
lder versions of the generics proposal are stored in the directory ftp://FT=
P.twu.ca/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 E=
urope (also in North America via a distributer.) One of these versions late=
r migrated to become TopSpeed Modula-2.

1.10 What is (was) Top Speed Modula-2
See also 1.9. Eventually, Top Speed merged with Clarion, a maker of databas=
e products, who used Modula-2 as their DB language, and for a time sold Top=
 Speed separately. Later still, this became SoftVelocity, but the Modula-2 =
compiler has vanished. A fuller history is available at http://www.attryde.=
com/clarion/.

1.11 Where and for what is Modula-2 used?
A1. Modula-2 is widely used for teaching the fundamentals of sound programm=
ing techniques, data structures, and software engineering in many parts of =
the world. It has been the language of choice in much of Europe, though Jav=
a and C++ have made great inroads. Modula-2 has features that make it super=
ior to other languages for large projects and for programming and real time=
 controllers.

A2.Here is a reply by Andrew Trevorrow (akt@kagi.com) who is the author of =
several Macintosh programs written in p1 Modula-2: OzTex (standard Tex impl=
ementation on the Mac) X-Words (a meta-Scrabble word game), Anagrams (a fas=
t and friendly anagram generator), LifeLab (a software laboratory for 2D ce=
llular automata, Googolator (an arbitrary-precision calculator, X-Words Del=
uxe (a meta-Scrabble-like game), and CrossCards (a combination of Scrabble =
and Poker.) His home page is: http://www.trevorrow.com/

"Back in 92-93 I worked for the Australian National Uni's Research School o=
f Earth Sciences writing Noble, a large suite of programs to control mass s=
pectrometers and analyze all the data. Everything was written in Modula-2 (=
the only reason I took the job!).
In fact, one of the reasons I decided to try making a living from shareware=
 was so that I could keep using Modula-2."

A3. General Motors and its subsidiary Delco have done their programming in =
General Motors Modula-2. Up to a point, all GM car computers were programme=
d in this language, though the keeper of the FAQ is unable to confirm that =
this is still the case.

A4. Here is a message sent in by a maker of test equipment:
Our BoardWizard range of test equipment has compilers,pseudo-code interpret=
ers and a complete test operating system written in M2. The code was writte=
n for one tester in 1987 and has been maintained from that date to the pres=
ent. New tester models have added and new interface and UI code has been wr=
itten, indeed sections have been completely re-written but much of the core=
 test logic is untouched since about 1990 when I shifted to management. Muc=
h of the code is unknown to those who maintain it - yet when i look at it a=
fter several years I can still explain it to others even though comments ar=
e sparse. I believe that that is the hallmark of a great programming langua=
ge. (Emphasis added.)
Dave Appleton,
Technical Manager
Goldtron Technologies                       Tel : (065)-870-9886
(Ex- Proteq Technologies)                   Fax: (065)-777-2118
26 Ayer Rajah Crescent #07-01               www:  http://www.proteq.com.sg
Singapore  139944

A5. Here is an answer sent in by a developer:
Magic Mouse Productions
12615 Sir Francis Drake Blvd.
Inverness, CA 94937 USA
1-415-669-7010
http://www.magicmouse.com

The following products were made using Modula-2. The programs are all about=
 100,000 lines long, and 99% Modula-2, with about 1% assembler code for per=
formance in critical areas.

    Flying Colors 2, Anime Designer DragonBall, Action Designer Ultraman, T=
amagotchi
        Sketch, Curious George Paint and Print Set -- all paint and creativ=
ity programs.
    Gorgeous Mail -- a new years card making program
    JuniorNet web activities -- various creativity activities for JuniorNet=
 web subscription service
    Discus -- CD label making program
    Web Workshop Deluxe -- Web site design product

A5A. Here is a later rant sent in by the same person.
We make commercial software using Modula-2, and have been doing so since th=
e first appearance of the Logitech "Multiscope" compiler about 17 years ago=
, and about a million lines later we are still using Modula-2 to great effe=
ct.

I am proud to announce that Web Workshop Pro, a kids website editor, is abo=
ut to go "golden" and be released to the public. The program, written in 98=
% Modula-2 (with a small assembler section), is reliable, fast, and very ef=
ficiently coded. An almost identical product in feature set and user interf=
ace style (but not as good) called Site Central was written in C, and is 4 =
times larger in executable. There is no better way to compare languages tha=
n to see two similar products implemented in the same environment (macintos=
h + windows), and see the result.

We use the excellent StonyBrook compiler (a fully integrated development en=
vironment) for Windows (it still works!), and the wonderful p1 compiler und=
er the Macintosh MPW development environment (ed. note: now available in XC=
ode; MPW is defunct).

We have a porting tool that converts between the two compilers, although re=
cent improvements to the StonyBrook compiler make it almost possible to hav=
e identical source code.

We have implemented a quickdraw emulation layer for windows which allows pr=
ograms to run identically between macintosh and windows platforms. This ver=
y layer eluded a very large company years ago, and is crucial to having a s=
ingle code base that operates on the mac and windows in an identical manner=
.

100,000 lines of code, about 10 months to do. one programmer. Less than 100=
 total bugs. I have an 800kb demo if anybody wants to have one e-mailed.

Until I get a chance to build a compiler for my BEADS language, which will =
reduce programming effort by at least 10:1, Modula-2 is the simplest, clean=
est, easiest to read, tends-to-build-a-reliable-product language on the pla=
net.

Java stinks! Modula-2 rules! (editor's note: Ouch!)


A6. Frank Schoonjans mentions MedCalc (statistical software for Windows, ht=
tp://www.medcalc.be, developed using Stony Brook Modula-2, his main work.

A7. The following survey results (though now out of date) were once 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)
CDSS                      UK         embedded control sys. TopSpeed
                                     for submarines
(self-employed)           UK         embedded Pcs and       TopSpeed
                                     pc-like chips
(manufacturer)            Finland,   8051 embedded control  Mod51
                          S.Africa,
                          Australia,
                          NZ, USA
Pacific Software          California Point-Of-Sale systems   -
Tele-Soft                 S. Africa  Scientific CAD progs   TopSpeed
                                     Databases
(confidential)            UK         Instrumentation &      TopSpeed &
                                     telemetry              Custom tools
USA Dept. of Energy       Idaho      Reusable components    StonyBrook
Idaho Nat. eng. labs                 systems programming
Locheed Idaho technologies company
Applied software resuse Products
GiaStar Ltd               UK         Satcoms/Comms. Elect. TopSpeed
                                     design & m/facture.
University of Reading     UK         Teaching,embedded ctrl  TopSpeed
University of Loughborough UK                               StonyBrook
and Hertsfordshire                                          TopSpeed
(sole trader)             UK         Electronic Design      TopSpeed
Atomic Energy of Canada   Canada     Shutdown system for    prototype in
Ltd. (AECL)                          nuclear reactor        TopSpeed
                                                         final version in
                                                         Hicross (HiWare)
Wallac Oy                 Finland    beta/gamma counters    Logitech,
                                     control & data acquis. Multiscope
Inspectron AG             Switzerland remote surveillance   Logitech,
                                                            Multiscope
Bank of New York          USA        funds transfer      ModulAware.com
                                                        (HP OpenVMS Alpha)
                                     customer enquiries     Logitech (VAX/V=
MS)
(freelance)                          Motorola IC production Logitech
                                     line tools. (Asia)
Dexdyne Ltd               UK         Single-board Pcs &     TopSpeed
                                     applications.
(freelance)               Australia  Shareware              p1 (mac)
Multi-Master AS           Norway     Embedded systems,      Logitech,
                                     remote control & acquis. Multiscope
(confidential)                       room acoustic sim &    TopSpeed
                                     (audio) virtual reality

A8. (revised 2005 09 06) The keeper of the FAQ notes that he still occasion=
ally gets contracts to evaluate Modula-2 code in takeover situations and th=
e like. Usually this code is for controllers, other real time devices, tele=
communications applications, and the like (sorry, specifics are under non-d=
isclosure). However, there can be little doubt that apart from real time ap=
plications, Modula-2 use has declined steadily since the early 1990s. The a=
uthor still finds it invaluable for teaching new programmers good habits, b=
ut acknowledges that without a new suite of uses, little will remain of it =
in a few more years. Perhaps the GNU project and the Objective Modula-2 pro=
ject for Cocoa (and other environments already using Objective C) will brea=
the new life into the language. Modula-2 is not the only good notation to s=
uffer in the mad rush to conform to C++ peer pressure. Overweight big broth=
er Ada has also vanished. Lots of real-life programmers use Delphi (Pascal+=
+) but there are virtually no textbooks available. Likewise for Smalltalk. =
Much work takes place in scripting languages (Perl, php, JavaScript/ECMAScr=
ipt, AppleScript, Python, etc.) or in Java however these are all to some de=
gree unsuitable for commercial work on large projects.

A9. The Proceedings of the Joint Modular Languages Conference, JMLC 2003 (L=
NCS 2789), contains an article by Koltashev wherein he discusses the benefi=
ts of using Modula-2 for the onboard-software used in Russian telecommunica=
tions satellites.

A10. The p1 page notes a number of large commercial products written using =
its compiler. These include Andrew Trevorrow's programs described above in =
A2, the magicmouse software mentioned in A5, Curious George Paint and Print=
 Studio published by HMI Interactive (http://www.hminet.com), the Anime des=
igner Dragon Ball Z, and the CAD program Pythagoras (http://www.pythagoras.=
net)

A11. (Tom Breedon) Though I've unfortunately moved on in my "day job" to Wi=
ndows support :( :( :(
with an occasional task in HTML shuffling (even worse!), I used to do
scientific research laboratory programming, and my Photomultiplier Monitori=
ng
program, for long term data collection using very sensitive Hamamatsu PMTs,
written with Stony Brook M2 starting about 8 years ago is still
being used, and in fact has spread to a number of laboratories here and the=
re.

1.12 Why do some universities use Modula-2 for teaching instead of C or C++=
?
A1. Modula-2 is a type-safe language and its compilers will therefore catch=
 many errors that otherwise show up only at run time. While professional pr=
ogrammers need to learn C++ because it is commonly used, it is important to=
 begin a discipline of deliberate, engineered programming at the outset. Mo=
dula-2 is easier to write in, easier to read (it reads left to right) and e=
asier to debug. It lends itself well to software engineering of very large =
projects. Modula-2 is a higher level language than C++, particularly with r=
espect to pointers, all of which have types that depend on what is pointed =
to, and that can be treated as addresses only by flagging this fact in the =
code. A good computing science department (such as the one at Trinity Weste=
rn University, where I teach,) tries to inculcate a way of thinking (as a s=
oftware engineer, not a hacker) and beyond that, a breadth of ideas. At TWU=
 C, C++, Java, Prolog, php, and other languages, are taught in appropriate =
courses, and on a variety of platforms, but not to beginners. Frankly, if I=
 had to switch, my first choice would be Delphi, Ada or Oberon, and after t=
hat Java (if it ever became reliably cross platform.) If I had to try teach=
ing beginners C++, I would retire. Objective Modula-2 seems interesting, th=
ough.

A2. Popularity no more implies soundness or superiority when considering to=
ols such as Modula-2 and C++ than it does when considering hardware operati=
ng systems (Windows vs Mac) and applications (Word vs NisusWriter). Marketi=
ng means selling the sizzle of appearance not the steak of content; those w=
ho know this and can apply it consistently win the marketing wars with infe=
rior or even poor products. The market situation is no reason to give up on=
 the basics of sound tools and methodology. If anything the crisis implied =
by the inability of large companies to maintain poorly designed and bloated=
 software and OSs implies that the industry needs to return to basics befor=
e it is going to advance much farther.


1.13 Why is Modula-2 a good language for large commercial projects?
A1. It supports modular design which reduces errors and cuts down on mainte=
nance time. This also allows platform dependencies to be isolated, increasi=
ng portability. I/O is found in several type-specific modules, so linkers o=
nly patch in the I/O code that's needed, making programs smaller and faster=
. This is in sharp contrast to, say, the versatile but resource hungry prin=
tf in C.

A2. see: Griffith, Laurie Modula-2 is three times less error prone than C, =
Proceedings of the Second International Modula-2 Conference, Loughborough U=
niversity of Technology, UK, September 1991, pp 332-338.

1.14 Where do I get information on YAFL?
A. This is yet another OO and Generic derivative of Modula-2. The homepage =
for the language is at http://www.phidani.be/yafl/index.html

1.15 Where do I get information on the Lilith Computer?
A. This was the natively Modula-2 machine Wirth once built. A collection of=
 documentation and other material is located at http://cfbsoftware.com/modu=
la2/

1.16 Is there a GNU  Modula-2?
There is a GNU Modula-2 project which is alive and well and its web site is=
: http://www.nongnu.org/gm2/. The current release status of GNU Modula-2 is=
 0.49 and it implements the PIM variant of Modula-2. It provides a set of P=
IM libraries and also installs the ULM PIM
libraries. It is sufficiently stable to build on Sparc Solaris in 64 bits a=
nd also GNU/Linux on Opteron/Athlon in 64 bits. It also builds on BSD and G=
NU/Linux on the x86 in 32 bits. Its aim is to be both ISO and PIM Modula-2 =
compliant. (Also, see the next question).

1.17 Are there any M2 compilers that support Cocoa and/or GNUstep, say an O=
bjective Modula-2?
A: The Objective Modula-2 project
has defined language extensions for Modula-2 to support Cocoa and
GNUstep natively by adding support for the Objective-C object model
and runtime system to the language. The language specification can be
obtained from the project's home page and an open source reference
compiler is under development. The project's FAQ also mentions
interest in adding the same language extensions to GNU Modula-2.


More information on the project's work in progress can be found at http://w=
ww.sunrisetel.net/software/devtools/objective-modula-2.shtml>http://www.sun=
risetel.net/software/devtools/objective-modula-2.shtml


1.18 Are there any M2 compilers with Xcode integration
A: The latest p1 compiler does run under XCode.


1.19 Is there any Modula-2 compiler for iPhone application development?
A: Not yet. However, Objective Modula-2 targeting the Objective-C
runtime and associated frameworks (including Cocoa Touch) will be
usable for iPhone development once the reference compiler is
completed.

2. WHERE IS MODULA-2 DISCUSSED?

2.1 COMP.LANG.MODULA-2
This is an internet newsgroup for questions, answers, and discussions on Mo=
dula-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 to that group using a news program on any computer connected to the=
 network. or use Google Groups.  http://groups.google.com/group/comp.lang.m=
odula2/topics


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 Amiga lists

2.2.1 A mailing-list for the Amiga Turbo Modula-2 Compiler written by Amrit=
pal S. Mann. To subscribe, send a message to maillist@econet.demon.co.uk wi=
th SignOn turbo-list as the Subject. Once subscribed, you will receive a co=
py of all messages sent to the address turbo-list@econet.demon.co.uk.


2.3 Gardens Point Modula-2
To join the GPM mailing list, send mail to majordomo@dstc.qut.edu.au with t=
he 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.


2.4 Win32
To join, send mail to listserver@nhm-wien.ac.at
with a blank subject line and the body Subscribe m2-win95-nt-l (your name)
Maintainer: Peter Stadler


2.5 ModulaTor
This is a regular publication by Guenter Dotzel of ModulAware.
 Back issues are available at: http://www.modulaware.com/mdltr_.htm


2.6 IRC
There is an IRC channel #modula-2 on freenode


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.)


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


Excelsior, LLC (replaces XDS)
activity  M
products  Native XDS-x86 - Modula-2/Oberon-2 2.32 compiler for x86 (Windows=
, OS/2, Linux)
          XDS-C - Modula-2/Oberon-2 "via C" cross compiler (multiple platfo=
rms)
          H2D (freeware) translates C header files to M2 Def Mods
          Portable run-time library in C source code form
          POSIX and Win32 API definition modules platforms PC/OS/2 V3 V4 (W=
arp), PC/Win95, PC/WNT PC/Linux,
          Sun/Sparc Solaris, Sun/Sparc SunOS, HP PA-Risc/HP-UX,
          others on request. (Mac no longer supported.)

e-mail  info@excelsior-usa.com
          also sold by ModulAware, and Real Time Associtaes
          check the shareware/demo section (below) for product availability
Excelsior WWW home page:
http://www.excelsior-usa.com/
fully functional evaluation kits are available from the site
also see ModulaWare, and Real Time Associates for product availability


Gardens Point
activity  MD
products  Gardens Point Modula-2
platforms Various Unix, including Linux but not Solaris 10, and FreeBSD, DJ=
GPP, 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://plas.fit.qut.edu.au/gpm/
voice     +61 7-864-2132
fax       +61 7-864-1801
see mail list and net sections


Mandeno Granville Electronics Ltd
activity   MD
products  Mod51 :  80x51 Cross Compiler, ISO extensions
               Optimised for Embedded Control, Includes some
               IEC1131 Extensions.
          DbgX51 : Remote Debugger for Mod51 Compiler
          IcePGM : ICE and Programmers, for FLASH cores,
               using Mod51 platforms DOS Hosted
office    128 Grange Rd
          Auckland 3
          New Zealand
contact
e-mail    Mod51@DesignTools.co.nz
voice     +64 9 6300 558
fax       +64 9 6301 720
web       http://www.designtools.co.nz/

The (Mill Hill) J.Neuhoff  -  mhccorp.com
activity  MD
product     Canterbury Modula-2 for Java (PIM, non-ISO
            object oriented extensions similar to Oberon-2 )
platform    Any platform which supports Java, such as
            Windows XP/2003, Linux, Mac OS X, Unix
contact     J.Neuhoff
e-mail      See the website
WWW         http://www.mhccorp.com/modula-2.html
demo        http://www.mhccorp.com/modula-2.zip
office      MHCCorp.com
            P.O.Box 4310
            Colchester-Brightlingsea
            CO7 0WR
            United Kingdom


ModulAware
activity  MD
prod/plat Compaq OpenVMS Alpha: Modula-2 and Oberon-2
            64 bit native-code HP Alpha compiler, MaX V5.02 and A2O V3.0, a=
nd 64 bit Oberon System V4
          Compaq OpenVMS VAX: Modula-2
web       www.modulaware.com


p1 GmbH
activity  MD
products  XCode hosted ISO compliant compilers
platforms Macintosh OS X (command line and Xcode; will generate universal b=
inaries)
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
web       http://www.awiedemann.de/compiler/index.html


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
Tel: +44 20 8656 7333
Fax: +44 20 8656 7334


Stony Brook Software
activity MD
products  Stonybrook Modula-2 ISO compatible. (Environment, editor,
  resource editor, librarian, context sensitive help, optimizing compiler,
  linker, debugger, many extra libraries, including COM, RTL sources)
  Also offers Pascal+
platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows
     32-bit Linux on IA-32 processors, 32-bit Solaris/SunOS on SPARC proces=
sors.
office   StonyBrook is now defunct, bought out by Saperion of Berlin, who w=
ill not continue the compiler. The last release was number 31. However, the=
 code has been licensed to ADW Software, whose product is Pythagoras, and t=
hey have the right to re-commercialize the compiler if they wish.


TERRA Datentechnik
activity  MD
products  Logitech/Multiscope Modula-2 and support
          Distributor for Stony Brook Modula-2 (see listing)
          Logitech compatible libraries for Stony Brook Modula-2
          Real and protected mode ROM tools for 80x86 based embeeded
          Modula-2 systems
          TERRA M2VMS/Alpha and M2VMS/VAX
platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows,
          DEC OpenVMS/Alpha and OpenVMS/VAX
office    Bahnhofstrasse 33b
          CH-8703 Erlenbach
          Switzerland
voice     +41 01 910 35 55
fax       +41 01 910 19 92
bbs       +41 01 910 35 31
e-mail    M2Master@TerraTerra.ch
web       http://www.TerraTerra.ch/


3.2 Where can I get a free/shareware compiler on the net?


Fitted Software Tools (FST) Modula-2 for DOS
  ftp://ftp.psg.com/pub/modula-2/fst/fst-40s.lzh
contact: Roger Carvalho
e-mail:  res09tkd@verizon.co
Note:   This compiler was developed by Roger Carvalho but is no longer
  actively supported. It essentially conforms to PIM version 3, but also
  supports some simple and interesting OOP extensions.
  P. O. Box 867403 Plano, TX 75023 USA
Warning: A reader cautions that FST may not work at all if you have an AMI =
BIOS.

Amiga Aglet Modula-2

Version:        2.5-AOS4-Pre-Release (21.1.2005)
Description:    compiler for AOS4 running under M68K emulation
Author:         tmb@virginia.edu (Tom Breeden)
Status:         "as-is", unwarrantied, freeware compiler package
Platforms:      AmigaOne AOS4 Pre-release, Amiga 68K or WinUAE AOS 3.9
Web:            http://home.ntelos.net/~tbreeden/
Features:       some ISO compatibility, including ISO IO Libr (courtesy R.
Sutcliffe et.al.)
                interface to most Amiga system librs, including Reaction
                includes 50+ programming support modules, with source
                "first cut" IDE using CygnusEd or GoldEd
Future:        If no Amiga system is available, this may be ported elsewher=
e.

GCC Version
Title:          m2f
Version:        4.2
Entered-date:   5NOV01
Description:    a complete Modula-2 compiler based on 2nd Edition PIM
Keywords:       Modula-2 compiler linux
Author:         gaius@glam.ac.uk (Gaius Mulley)
Maintained-by:  gaius@glam.ac.uk
Site: http://www.nongnu.org/gm2/
Platforms:      gcc
Copying-policy: GPL
available in source and binary in rpm or tar.gz format from
Features:
  +  Full debugging via emacs/gdb
   +  -students flag performs extra semantic checking
      for dangerous novice programming styles.

NOTE: Mide3de2 is a windows IDE for the FST modula-2 compiler. It is availa=
ble from http://sourceforge.net/projects/mide3de2/

Gardens Point Modula-2 for DOS, Linux and FreeBSD
  ftp://ftp.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 wh=
ich can be found at: ftp.uni-stuttgart.de/pub/systems/os2/ and various
other mirror sites.

MacLogimo for Macintosh Classic (not X)
  ftp://ftp.psg.com/pub/modula-2/mac/maclogimo/

MacMETH Modula-2 for Macintosh Classic (not X)
 http://www.sysecol.ethz.ch/SimSoftware/SimSoftware.html#MacMETH
Note that MacMETH is also released as part of RAMSES
http://www.sysecol.ethz.ch/RAMSES/MacMETH.html.
RAMSES provides a full featured programming environment for Mac OS 9,
containing all of MacMETH (compilers, linkers, symbolic break debugger,
macro editor or language support for Alpha editor) plus hundreds more of
libary modules useful in the context of programing and for scientific
applications. RAMSES contains also the 'Dialog Machine', a platform
independent GUI (see
http://www.sysecol.ethz.ch/SimSoftware/RAMSES/DialogMachine.html).
'Dialog Machine' implementations exist for MacOS, GEM (no longer
available), Windows (3.1 .. up to current versions), and Unix. All
software we have developed, is offered via the internet as freeware. A sear=
ch engine for all RAMSES objects is available at http://se-server.ethz.ch/R=
AMSES/Objects/.
Contact: Andreas Fischlin andreas.fischlin@ito.umnw.ethz.ch

Megamax Modula-2 for the Atari
  This is freeware now and comes with complete source including
  compiler. It runs on all Atari Computers an compatibles and on
  emulators such as MagicMac (Macintosh) and MagiCPC (PC-
  compatibles). The documentation is entirely in german. Available
  from: http://www.tempel.org/files-e.html

MOCKA - Modula Compiler Karlsruhe (Non ISO)
  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: Thilo Gaul
  email: [modula|gaul]@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://www.info.uni-karlsruhe.de/~modula/index.php


Ulm's Modula-2 System m2c (non-ISO)
   web page:  http://www.mathematik.uni-ulm.de/modula/
   all distributions come along with all sources which may be
   freely distributed under the terms of the GNU General Public License
   SPARCv8 / Solaris to version 10
      ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun4/
   MC68020 / SunOS 4.x
      ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun3/
contact: Andreas Borchert borchert@mathematik.uni-ulm.de

Excelsior, LLC
 ( Windows 95/NT, OS-2, Linux native code and "via C" compilers. ISO
compatible.)
Makes demo and pre-release versions with some restrictions available.
The download site for all versions is:
http://www.excelsior-usa.com

M2Amiga (Open source Modula-2 Compiler for the Commodore Amiga)
Sources and Binaries can be obtained from http://m2amiga.claudio.ch/



3.3 How about a Summary of ISO Products for Major platforms?
MS-DOS:GPM, ModulAware,Stony Brook
Windows95/NT:Stony Brook, XDS
OS/2:Mill Hill, XDSGPM
MacOS9:p1 (version 7.3
MacOS X:p1 (version 8)
BSD:GPM
Linux:XDSGPM
OpenVMS:ModulAware

3.4 Is there such a thing as a decompiler for Modula-2?
Nope. But feel free to write one. Be sure to include a facility to produce =
the planning
 documents from which the Modula-2 code could be constructed and one to fin=
d out what
 the users wanted before the planning documents were written.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Part1 - Part2

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
rsutc@arjay.bc.ca (Rick Sutcliffe, Modula-2 FAQ maintainer)





Last Update March 27 2014 @ 02:11 PM