The OpenNET Project / Index page

[ ÎÏ×ÏÓÔÉ /+++ | ÆÏÒÕÍ | wiki | ÔÅÇÉ | ]

ðÏÉÓË:  ëÁÔÁÌÏÇ ÄÏËÕÍÅÎÔÁÃÉÉ | Other

Modula-2 FAQ

This file contains the answers to some commonly asked questions about the programming language Modula-2.
Archive-name: computer-lang/Modula2-faq/part1
Version: 2.27
Last-modified: 2003 03 26
Posting-frequency: Monthly

                  Modula-2 Frequently Asked Questions


What is new in version 2.27(2003 03 26)?
Very little to be honest. The traffic to Modula-2.com has declined 
dramatically and few people seem to be reading the FAQ except for a 
handful of students. A new answer, A6 has been added in 1.11. An 
invalid Gardens Point URL has been changed. PMI has been removed. The 
StonyBrook Section has been revised with new information. We'll prune 
the dead stuff again in June, and no doubt make it a lot shorter.


What was new in version 2.26 (2002 06 03)?
Dead links have been ruthlessly pruned, a couple of spelling errors 
corrected, some directory links altered to reflect reorganizations, 
and the header tags corrected to remove a formatting problem under 
NOSCRIPT conditions. The answer at 5.8 has been expanded to include 
other similar questions. A new question on Top Speed has been 
inserted in the historical section at 1.10, and the entry on the 
company itself deleted. The Stony Brook section has been updated with 
new products for Linux (IA-32) and Solaris. Edinburgh Portable 
Compilers, which once made a variety of Modula-2 compilers has been 
taken over by a company called Analog Devices, who no longer support 
the compilers. The listing has been removed. ModulaWare has changed 
its name to  ModulAware, and its listing has been revised. Peter 
Moylan's site has reappeared under a new URL and is listed in A4 
under section 4.2. There are some under-the-hood changes to help out 
search engine spiders.



SUMMARY:
1. Answers to many questions about Modula-2 as a programming notation 
may be found in the shareware textbook. As always, users should pay 
the shareware 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 this document from time to time as it is revised.

3. Submissions should be mailed to -- rsutc@arjay.bc.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.

4. I will update this summary file and post to the newsgroups 
comp.lang.modula2 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.
It is also available from the site rtfm.mit.edu in plain text form as 
ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part1 
and as 
ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part2


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. Modula-2 is 
small, expressive, easy to learn, 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.


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 ISO Modula-2?
Yes, the latest revised and corrected edition of the shareware text 
as of 2000 05 24 is at  http://www.arjay.bc.ca
Mirrors (for the text, not the FAQ--some may be out of date):
1. TWU Main Site http://www.twu.ca/rsbook/index.html
2. TWU CS Students (Internal only) http://www.csc.twu.ca/rsbook/index.html
3. Brighton, UK  http://burks.bton.ac.uk/burks/index.htm


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 Standard Pascal?
A. Modula-2 has separately compiled library modules, and makes much 
less use 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 programming 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 has met since 1987 to work on a standard description of 
Modula-2 and a set of standard library modules.

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

1.7.1 What is the status of ISO Standard Modula-2?
A. The international standard (IS 10514) has been voted on and is now 
official. The Object oriented extensions and Generic extensions have 
also been voted on and are official.

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

A2. For an older version, try looking in 
ftp://ftp.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.Martin Schoenhacker of Vienna is the 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 to do routine maintenance on the standards.

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 
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 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://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/

1.7.9 Can I get ISO library code to port?
A. Yes, this is available from Rick Sutcliffe, the FAQ maintainer. He 
has done an ISO I/O library for the Mac, and StonyBrook has 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 and submitted to Rick Sutcliffe for the benefit of anyone 
else who wants to do a port.

1.7.10 Can I get copies of the grammer?
A1. Yes, in http://www.twu.ca/rsbook/Appendices/Ap3.html
A2. For classical Modula-2, see also Coco (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.twu.ca/rsbook/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 termination (FINALLY clause) and a complete standard I/O 
library. There are numerous 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. Older versions of the generics proposal are 
stored in the directory ftp://FTP.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 Europe (also in North America via a distributer.) One of 
these versions later 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 
database 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 
programming techniques, data structures, and software engineering in 
many parts of the world. It has been the language of choice in much 
of Europe, though Java and C++ are making inroads. Modula-2 has 
features that make it superior 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 the Macintosh programs written in p1 Modula-2: OzTex 
(standard Tex implementation on the Mac) X-Words (a meta-Scrabble 
word game), Anagrams (a fast and friendly anagram generator), LifeLab 
(a software laboratory for 2D cellular automata.) His home page is: 
http://www.trevorrow.com/

  "Back in 92-93 I worked for the Australian National Uni's Research 
School of Earth Sciences writing Noble, a large suite of programs to 
control mass spectrometers 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 do their programming in 
General Motors Modula-2.

A4. Here is a message sent in by a maker of test equipment:
Our BoardWizard range of test equipment has compilers,pseudo-code 
interpreters and a complete test operating system written in M2.  The 
code was written for one tester in 1987 and has been maintained from 
that date to the present. New tester models have added and new 
interface and UI code has been written, indeed sections have been 
completely re-written but much of the core test logic is untouched 
since about 1990 when I shifted to management.  Much of the code is 
unknown to those who maintain it - yet when i look at it after 
several years I can still explain it to others even though comments 
are sparse. I believe that that is the hallmark of a great 
programming language. (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 performance in critical areas.

     Flying Colors 2, Anime Designer DragonBall, Action Designer 
Ultraman, Tamagotchi
         Sketch, Curious George Paint & Print Set -- all paint and 
creativity 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 the 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 effect.

I am proud to announce that Web Workshop Pro, a kids website editor, 
is about 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 efficiently coded.  An almost identical 
product in feature set and user interface 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 than to see 
two similar products implemented in the same environment (macintosh + 
windows), and see the result.

We use the excellent StonyBrook compiler (a fully integrated 
development environment) for Windows, and the wonderful p1 compiler 
under the Macintosh MPW development environment.

We have a porting tool which converts between the two compilers, 
although recent improvements to the StonyBrook compiler make it 
almost possible to have identical source code.

We have implemented a quickdraw emulation layer for windows which 
allows programs to run identically between macintosh and windows 
platforms.  This very layer eluded a very large company years ago, 
and is crucial to having a single 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, cleanest, easiest to read, 
tends-to-build-a-reliable-product language on the planet. 

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



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

A7. The following survey results 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/VMS)
(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

A7. Finally, the keeper of the FAQ notes that he still gets contracts 
to evaluate Modula-2 code in takeover situations and the like.


1.12 Why do 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 at run time. While 
professional programmers need to learn C++ because it is commonly 
used, it is important to begin a discipline of deliberate, engineered 
programming at the outset. Modula-2 is easier to write in, easier to 
read (it reads left to right) and easier to debug. It lends itself 
well to software engineering. Modula-2 is a higher level language 
than C++, particularly with respect 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 Western University, 
where I teach,) tries to inculcate a way of thinking (as a software 
engineer, not a hacker) and beyond that, a breadth of ideas. At TWU 
C, C++, Java, Prolog 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 Ada or Oberon, and my 
second Java (if it ever became cross platform.) If I had to try 
teaching beginners C++, I would retire.

A2. Popularity no more implies soundness or superiority when 
considering tools such as Modula-2 and C++ than it does when 
considering hardware (Pentium vs PowerPC), operating systems (Windows 
vs Mac) and applications (Word vs Nisus). Marketing means selling the 
sizzle of appearance not the steak of content; those who know this 
and can apply it consistently win the marketing wars with inferior or 
even poor products. The market situation is no reason to give up on 
the basics of sound tools and methodology. If anything the cirisis 
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 before 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 
maintenance time.  This also allows platform dependencies to be 
isolated, increasing portability. I/O is found in several 
type-specific modules, so linkers only patch in the I/O code that's 
needed, making programs smaller and faster. This is in sharp contrast 
to the versatile but resource hungry printf 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 University 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


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 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.To subscribe, send mail to 
majordomo@virginia.edu containing the message "subscribe 
yourid@youraddress.yourdom amiga-m2".

2.2.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.3 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.


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


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 platforms)
           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 (Warp), 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 and FreeBSD, 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.citi.qut.edu.au/research/plas/projects/gardens_point_modula.jsp
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 & Canterbury Corporation, Ltd.
activity  MD
product     Canterbury Modula-2 for OS/2 ( PIM, non-ISO,
               object oriented extensions similar to Oberon-2,
               SOM/WPS and Presentation Manager APIs )
platform      OS/2
product     Canterbury Modula-2 for Java 1.1 or 1.2 ( PIM, non-ISO,
               object oriented extensions similar to Oberon-2 )
platform      Any operating system with Java, such as
                   Windows-95/98/NT, OS/2, MacOS (incl. Metrowerks), Unix etc.
product     NITEK MATHPAK 87/32 for Canterbury Modula-2 OS/2
platform      OS/2
contact     S.Neuhoff
e-mail      mhc@webcom.com
WWW       http://www.mhccorp.com/modrelease.html
demo      http://www.webcom.com/mhc/java.html
office          P.O.Box 4310 Colchester CO12WL England


ModulAware
activity  MD
prod/plat Compaq OpenVMS Alpha: Modula-2 and Oberon-2
             64 bit native-code compiler, MaX V5.02 and A2O V3.0, and 
64 bit Oberon System V4
           Compaq OpenVMS VAX: Modula-2
             32 bit native-code compiler, MVR V4.16
office1   ModulAware
           La Chanenche
           F-04340 Meolans-Revel
           France
tel/fax   +33 492.813 099
contact   Guenter Dotzel
e-mail    &#103d@modulAware.co&#109
web       www.modulaware.com


p1 GmbH
activity  MD
products  MPW and Metrowerks Code Warrier hosted ISO compliant compilers
NOTE:     Current versions of MPW have odds and sods for ISO Modula-2
           written by R. Sutcliffe, for your editing enjoyment
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
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 
processors.
office    187 E. Wilbur, Suite 4
           Thousand Oaks
           CA 91360, USA
contact   Norman Black
e-mail    sales@stonybrooksoftware.com
Home page:  http://www.stonybrooksoftware.com
voice     +1 (805) 496-5837
BBS       +1 (805) 379-3357
FAX       +1 (805) 496-7429


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.

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://floppsie.comp.glam.ac.uk
Platforms:      gcc
Copying-policy: GPL
available in source & 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 
available from http://sourceforge.net/projects/mide3de2/

GNU Version
An earlier attempt to do this flopped, but a new attempt
is being coordinated at http://floppsie.comp.glam.ac.uk/

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 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
  http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html
   It's also available on CD from: http://www.celestin.com/
Note that MacMETH is also released as part of RAMSES
http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html#RAMSES.
RAMSES provides a full featured programming environment for the Macintosh,
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.ito.umnw.ethz.ch/SysEcol/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.
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: 
ftp://ftp.fu-berlin.de//atari/programming/modula/Megamax_Modula-2_DevEnv.ZIP

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://i44w3.info.uni-karlsruhe.de/~modula/
See also ftp://tsx-11.mit.edu/pub/linux/packages/modula-2/  or
ftp://ftp.informatik.hu-berlin.de/pub/os/linux/mirrors/tsx-11.mit.edu/packages/modula-2/ 
for a Linux version.


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 2.x
       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 Commercial ISO Products for the Major 
Microcomputer platforms?

MS-DOS:
GPM, ModulAware, Stony Brook
Windows95/NT:
Stony Brook, XDS
OS/2:
Mill Hill, XDS
MacOS:
p1

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 find out what
  the users wanted before the planning documents were written.

3.5 Is there any other free or cheap stuff available?
A1. The ISO modules are; beyond that, contact the manufacturer.

A2. BURKS (the Brighton University Resource Kit for Students) is a non-profit
set of 2 CDs available from the University of Brighton (UK) or the George
Washington University (USA), price UKP 5.00 / US $8.50 (plus shipping).
Now in its third year, the current (3rd) edition has kindly been sponsored
by GEC-Marconi and ROCC Computers.

Aimed at Computer Science students, it provides around 1.1Gb of material
including compilers, tutorials and reference material for over 20 programming
languages; a copy of the Free Online Dictionary of Computing with over 11,000
definitions; a Linux distribution, together with a set of Linux manuals; FAQs,
tutorials and specifications for Internet and PC related topics (e.g. HTML,
FTP, XMS, Winsock, storage devices, modems...), and a large selection of
MS-DOS and Windows software.

Modula2-related material includes the FST and GPM compilers, Rick Sutcliffe's
"Modula-2: Abstractions for Data and Programming Structures", the Coronado
tuorial, the Modula-2 FAQ, and the GPM Language Reference Manual.

The entire collection is available online at http://burks.bton.ac.uk/.
Modula2-related material is at http://burks.bton.ac.uk/burks/language/modula2/.
Ordering information (including shipping costs to various destinations)
is also available online (at http://burks.bton.ac.uk/ordering.htm).


-- 
Rick Sutcliffe Professor Math/Cmpt Trinity Western University. Try 
<http://www.arjay.bc.ca> for Christian SF, books on Modula-2 and 
Ethics in Technology. Philology site at <http://www.opundo.com>



ðÁÒÔΣÒÙ:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
èÏÓÔÉÎÇ:

úÁËÌÁÄËÉ ÎÁ ÓÁÊÔÅ
ðÒÏÓÌÅÄÉÔØ ÚÁ ÓÔÒÁÎÉÃÅÊ
Created 1996-2024 by Maxim Chirkov
äÏÂÁ×ÉÔØ, ðÏÄÄÅÒÖÁÔØ, ÷ÅÂÍÁÓÔÅÒÕ