home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / computer-lang / Modula2-faq / part1 next >
Encoding:
Text File  |  2004-04-18  |  36.5 KB  |  881 lines

  1. Path: senator-bedfellow.mit.edu!dreaderd!not-for-mail
  2. Message-ID: <computer-lang/Modula2-faq/part1_1082200966@rtfm.mit.edu>
  3. Supersedes: <computer-lang/Modula2-faq/part1_1079601013@rtfm.mit.edu>
  4. Expires: 31 May 2004 11:22:46 GMT
  5. X-Last-Updated: 2003/10/10
  6. From: Rick Sutcliffe <rsutc@twu.ca>
  7. Followup-To: poster
  8. Organization: none
  9. Newsgroups: comp.lang.modula2,comp.answers,news.answers
  10. Subject: Modula-2 FAQ
  11. Distribution: world
  12. Approved: news-answers-request@MIT.EDU
  13. Keywords: languages, Modula-2
  14. Summary: This file contains the answers to some commonly asked questions
  15.    about the programming language Modula-2.
  16. Originator: faqserv@penguin-lust.MIT.EDU
  17. Date: 17 Apr 2004 11:26:43 GMT
  18. Lines: 859
  19. NNTP-Posting-Host: penguin-lust.mit.edu
  20. X-Trace: 1082201203 senator-bedfellow.mit.edu 568 18.181.0.29
  21. Xref: senator-bedfellow.mit.edu comp.lang.modula2:20714 comp.answers:56851 news.answers:269768
  22.  
  23. Archive-name: computer-lang/Modula2-faq/part1
  24. Version: 2.28
  25. Last-modified: 2003 10 10
  26. Posting-frequency: Monthly
  27.  
  28.   ááááááááááááááá Modula-2 Frequently Asked Questions
  29.  
  30. What is new in version 2.28(2003 10 10)?
  31. A couple of new websites have sprung up and are indicated in section 
  32. 4.1 and 4.2 One of the sites previously mentioned in 4.9 is gone, so 
  33. the answers have been renumbered. What was in section 4.10 has 
  34. vanished behind a firewayy (or into the bit bucket) so the rest of 
  35. that section has been renumbered. Traffic to the Modula-2.com site is 
  36. up again, and so is interest in universities printing the shareware 
  37. text. The GNU Modula-2 version seems to be alive, and their web link 
  38. has been alered slightly.
  39.  
  40. What was new in version 2.27(2003 03 26)?
  41. Very little to be honest. The traffic to Modula-2.com has declined 
  42. dramatically and few people seem to be reading the FAQ except for a 
  43. handful of students. A new answer, A6 has been added in 1.11. An 
  44. invalid Gardens Point URL has been changed. PMI has been removed. The 
  45. StonyBrook Section has been revised with new information. We'll prune 
  46. the dead stuff again in June, and no doubt make it a lot shorter.
  47.  
  48.  
  49.  
  50. SUMMARY:
  51. 1. Answers to many questions about Modula-2 as a programming notation 
  52. may be found in the shareware textbook. As always, users should pay 
  53. the shareware fee. See section 1.4.
  54.  
  55. 2. Answers to most other frequently asked questions about Modula-2 
  56. will be collected by Rick Sutcliffe at Trinity Western University and 
  57. included in this document from time to time as it is revised.
  58.  
  59. 3. Submissions should be mailed to -- rsutc@arjay.bc.ca
  60. Anyone making a submission guarantees that they have the right to do 
  61. so (copyright holder, or information in the public domain.) and that 
  62. the information is not from any source whose copyright lies with 
  63. another.
  64.  
  65. 4. I will update this summary file and post to the newsgroups 
  66. comp.lang.modula2 and to comp.answers and news.answers
  67.  
  68. 5. The latest version will always be available in a Nisus (Mac) form in
  69. http://www.arjay.bc.ca/Modula-2/m2faq.html.
  70. It should also be available from the site rtfm.mit.edu in plain text 
  71. form as 
  72. ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part1 
  73. and as 
  74. ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part2
  75.  
  76.  
  77. CONTENTS:
  78. Part 1
  79. 1. WHAT IS MODULA-2?
  80. 2. WHERE IS MODULA-2 DISCUSSED?
  81. 3. WHERE CAN I GET MODULA-2 COMPILERS?
  82. Part 2
  83. 4. WHERE CAN I GET SOURCE CODE, OTHER INFO?
  84. 5. SPECIFIC QUESTIONS ON CODE AND ALGORITHMS
  85. 6. WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2?
  86. 7. REVIEWS
  87. Appendix: AUTHOR INFORMATION AND DISCLAIMERS
  88.  
  89.  
  90. 1. WHAT IS MODULA-2?
  91. A. Modula-2 is a programming notation that corrects some of the 
  92. deficiencies of Pascal. It is suitable for learning programming, for 
  93. large projects written and maintained in the fashion of professional 
  94. software engineers, and for real time embedded systems. Modula-2 is 
  95. small, expressive, easy to learn, to write, and to read.
  96.  
  97.  
  98. 1.1 Who developed Modula-2?
  99. A. Modula-2 was developed by Niklaus Wirth at ETH in Zurich, 
  100. Switzerland in the late 70's. Wirth also developed Algol-W, Pascal, 
  101. Modula, and Oberon.
  102.  
  103.  
  104. 1.2 Where is this language described?
  105. A. In Programming in Modula-2 3rd edition published by 
  106. Springer-Verlag in 1985. For the purposes of distinguishing this from 
  107. later variants, this description will be referred to herein as 
  108. classical Modula-2.
  109.  
  110.  
  111. 1.3 How do you pronounce Herr Wirth's name?
  112. A. It is incorrect to call him by his value (worth.) Instead his name is veart.
  113.  
  114.  
  115. 1.4 Can I get a simple introduction to ISO Modula-2?
  116. Yes, the latest revised and corrected edition of the shareware text 
  117. as of 2003 10 10 is atá http://www.arjay.bc.ca
  118. Mirrors (for the text, not the FAQ--some may be out of date):
  119. 1. TWU Main Site http://www.twu.ca/rsbook/index.html
  120. 2. TWU CS Students (Internal only) http://www.csc.twu.ca/rsbook/index.html
  121. 3. Brighton, UKá http://burks.bton.ac.uk/burks/index.htm
  122.  
  123.  
  124. 1.5 How does Modula-2 fit into the language zoo?
  125. A. It is a descendent of Pascal and Modula, and one predecessor of 
  126. Modula-2+, Modula-2*, Modula-3, Oberon, Oberon-2 (Component Pascal), 
  127. and various object oriented versions of these. The latter languages 
  128. are not replacements for  Modula-2, merely later notations in the 
  129. same family, having strengths and weaknesses of their own. Modula-2 
  130. is sometimes classified with Ada and C as the trio of modern 
  131. languages in view of their expressive power. Modula-2 is smaller and 
  132. more readable than either.
  133.  
  134.  
  135. 1.6 What are the differences between Modula-2 and Standard Pascal?
  136. A. Modula-2 has separately compiled library modules, and makes much 
  137. less use of blocks (begin...) than Standard Pascal. Identifiers are 
  138. case sensitive; there is no goto label; and I/O is in libraries 
  139. rather than built in. The IF statement is more versatile; and there 
  140. are facilities for concurrent programming via coroutines. The ISO 
  141. standard version has OO and Generics. Extended Pascals may have some 
  142. of these features.
  143.  
  144.  
  145. 1.7 What is ISO Standard Modula-2?
  146. A. A committee of ISO JTC1/SC22/WG13 with delegates from several 
  147. countries met starting in 1987 to work on a standard description of 
  148. Modula-2 and a set of standard library modules.
  149.  
  150. A2. The official home of the ISO Modula-2 working group WG13 is at 
  151. http://sc22wg13.twi.tudelft.nl/
  152.  
  153. 1.7.1 What is the status of ISO Standard Modula-2?
  154. A. The international standard (IS 10514) has been voted on and is now 
  155. official. The Object oriented extensions and Generic extensions have 
  156. also been voted on and are official. The committee itself has been 
  157. disbanded, its work complete.
  158.  
  159. 1.7.2 Where can I get the Modula-2 standard?
  160. A1. Contact your national standards body or ISO (the publisher.)
  161.  
  162. A2. For an older version, try looking in 
  163. ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/draft4/
  164.  
  165. 1.7.3 What format is the standard document in?
  166. A. Latex.
  167.  
  168. 1.7.4 Who is the convenor of the standards group (WG13)?
  169. A.Martin Schoenhacker of Vienna was the last convenor.
  170.  
  171. 1.7.5 When was the last WG13 meeting?
  172. A1. It was March 17-18 1997 in Linz, Austria. For more details, 
  173. follow http://sc22wg13.twi.tudelft.nl/docs/meetings.html
  174.  
  175. 1.7.6 When is the next WG13 meeting?
  176. A1. No meeting is currently on the schedule. One may be held if 
  177. necessary to do routine maintenance on the standards. In the 
  178. meantime, the committee has been disbanded.
  179.  
  180. 1.7.7 Will I be able to read the standard?
  181. A1. The concrete syntax is written in a variation of EBNF (Extended 
  182. Backus-Naur Formalism) and should be accessible to most.
  183.  
  184. A2. Much of the base document's details are written in VDM-SL (Vienna 
  185. Development Method - Specification Language) which is a formalism for 
  186. giving a precise definition of a programming language in a 
  187. denotational style. It is worth learning VDM-SL if you plan to write 
  188. a compiler or use formal methods to do any design work.
  189.  
  190. 1.7.8 Can I at least get electronic copies of the definition modules?
  191. A. Yes, in ftp://FTP.twu.ca/pub/modula2/ISOLibraries/ISODEFMods/ or 
  192. ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/
  193.  
  194. 1.7.9 Can I get ISO library code to port?
  195. A. Yes, this is available from Rick Sutcliffe, the FAQ maintainer. He 
  196. has done an ISO I/O library for the Mac, and StonyBrook has ported 
  197. this to their system.  Anyone else is welcome to do a port provided: 
  198. (1) TWU gets a license to the software produced (2) All code changes 
  199. are marked and submitted to Rick Sutcliffe for the benefit of anyone 
  200. else who wants to do a port.
  201.  
  202. 1.7.10 Can I get copies of the grammer?
  203. A1. Yes, in http://www.twu.ca/rsbook/Appendices/Ap3.html
  204. A2. For classical Modula-2, see also Coco (section 4.9)
  205. A3. There are nice syntax diagrams for classical Modula-2 in 
  206. http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/Modula2/BNFindex.html
  207.   and there are syntax diagrams for ISO Modula-2 stored at
  208. http://www.twu.ca/rsbook/Appendices/Ap2.html
  209.  
  210.  
  211. 1.8 What difference is there between classical and ISO Modula-2?
  212. A. ISO Modula-2 has resolved most of the ambiguities in classical 
  213. Modula-2. It adds the data type COMPLEX and LONGCOMPLEX, exceptions, 
  214. module termination (FINALLY clause) and a complete standard I/O 
  215. library. There are numerous minor differences and clarifications.
  216.  
  217. 1.8.1 What else has WG13 done?
  218. A. WG13 has completed two additional standards (separate from the 
  219. main one) for (a) object oriented Modula-2 and (b) generic 
  220. programming facilities. Older versions of the generics proposal are 
  221. stored in the directory ftp://FTP.twu.ca/pub/modula2/WG13/
  222.  
  223. 1.9 What is (was) Turbo Modula-2
  224. A. Borland prepared CP/M versions of Modula-2 and sold them for a 
  225. time in Europe (also in North America via a distributer.) One of 
  226. these versions later migrated to become TopSpeed Modula-2.
  227.  
  228. 1.10 What is (was) Top Speed Modula-2
  229. See also 1.9. Eventually, Top Speed merged with Clarion, a maker of 
  230. database products, who used Modula-2 as their DB language, and for a 
  231. time sold Top Speed separately. Later still, this became 
  232. SoftVelocity, but the Modula-2 compiler has vanished. A fuller 
  233. history is available at http://www.attryde.com/clarion/.
  234.  
  235. 1.11 Where and for what is Modula-2 used?
  236. A1. Modula-2 is widely used for teaching the fundamentals of sound 
  237. programming techniques, data structures, and software engineering in 
  238. many parts of the world. It has been the language of choice in much 
  239. of Europe, though Java and C++ are making inroads. Modula-2 has 
  240. features that make it superior to other languages for large projects 
  241. and for programming and real time controllers.
  242.  
  243.  
  244. A2.Here is a reply by Andrew Trevorrow (akt@kagi.com) who is the 
  245. author of the Macintosh programs written in p1 Modula-2: OzTex 
  246. (standard Tex implementation on the Mac) X-Words (a meta-Scrabble 
  247. word game), Anagrams (a fast and friendly anagram generator), LifeLab 
  248. (a software laboratory for 2D cellular automata.) His home page is: 
  249. http://www.trevorrow.com/
  250.  
  251.   "Back in 92-93 I worked for the Australian National Uni's Research 
  252. School of Earth Sciences writing Noble, a large suite of programs to 
  253. control mass spectrometers and analyze all the data. Everything was 
  254. written in Modula-2 (the only reason I took the job!).
  255. In fact, one of the reasons I decided to try making a living from 
  256. shareware was so that I could keep using Modula-2."
  257.  
  258. A3. General Motors and its subsidiary Delco do their programming in 
  259. General Motors Modula-2.
  260.  
  261. A4. Here is a message sent in by a maker of test equipment:
  262. Our BoardWizard range of test equipment has compilers,pseudo-code 
  263. interpreters and a complete test operating system written in M2.  The 
  264. code was written for one tester in 1987 and has been maintained from 
  265. that date to the present. New tester models have added and new 
  266. interface and UI code has been written, indeed sections have been 
  267. completely re-written but much of the core test logic is untouched 
  268. since about 1990 when I shifted to management.  Much of the code is 
  269. unknown to those who maintain it - yet when i look at it after 
  270. several years I can still explain it to others even though comments 
  271. are sparse. I believe that that is the hallmark of a great 
  272. programming language. (Emphasis added.)
  273. Dave Appleton,
  274. Technical Manager
  275. Goldtron Technologies                       Tel : (065)-870-9886
  276. (Ex- Proteq Technologies)                   Fax: (065)-777-2118
  277. 26 Ayer Rajah Crescent #07-01               www:  http://www.proteq.com.sg
  278. Singapore  139944áááááááááááááááááááááááááá
  279.  
  280. A5. Here is an answer sent in by a developer:
  281. Magic Mouse Productions
  282. 12615 Sir Francis Drake Blvd.
  283. Inverness, CA 94937 USA
  284. 1-415-669-7010
  285. http://www.magicmouse.com
  286.  
  287. The following products were made using Modula-2.  The programs are 
  288. all about 100,000 lines long, and 99% Modula-2, with about 1% 
  289. assembler code for performance in critical areas.
  290.  
  291.      Flying Colors 2, Anime Designer DragonBall, Action Designer 
  292. Ultraman, Tamagotchi
  293.          Sketch, Curious George Paint & Print Set -- all paint and 
  294. creativity programs.
  295.      Gorgeous Mail -- a new years card making program
  296.      JuniorNet web activities -- various creativity activities for 
  297. JuniorNet web subscription service
  298.      Discus -- CD label making program
  299.      Web Workshop Deluxe -- Web site design product
  300.  
  301. A5A. Here is a later rant sent in by the same person.
  302. We make commercial software using Modula-2, and have been doing so 
  303. since the first appearance of the Logitech "Multiscope" compiler 
  304. about 17 years ago, and about a million lines later we are still 
  305. using Modula-2 to great effect.
  306.  
  307. I am proud to announce that Web Workshop Pro, a kids website editor, 
  308. is about to go "golden" and be released to the public.  The program, 
  309. written in 98% Modula-2 (with a small assembler section), is 
  310. reliable, fast, and very efficiently coded.  An almost identical 
  311. product in feature set and user interface style (but not as good) 
  312. called Site Central was written in C, and is 4 times larger in 
  313. executable.  There is no better way to compare languages than to see 
  314. two similar products implemented in the same environment (macintosh + 
  315. windows), and see the result.
  316.  
  317. We use the excellent StonyBrook compiler (a fully integrated 
  318. development environment) for Windows, and the wonderful p1 compiler 
  319. under the Macintosh MPW development environment.
  320.  
  321. We have a porting tool which converts between the two compilers, 
  322. although recent improvements to the StonyBrook compiler make it 
  323. almost possible to have identical source code.
  324.  
  325. We have implemented a quickdraw emulation layer for windows which 
  326. allows programs to run identically between macintosh and windows 
  327. platforms.  This very layer eluded a very large company years ago, 
  328. and is crucial to having a single code base that operates on the mac 
  329. and windows in an identical manner.
  330.  
  331. 100,000 lines of code, about 10 months to do.  one programmer.  Less 
  332. than 100 total bugs.  I have an 800kb demo if anybody wants to have 
  333. one e-mailed.
  334.  
  335. Until I get a chance to build a compiler for my BEADS language, which 
  336. will reduce programming effort by at least 10:1, Modula-2 is the 
  337. simplest, cleanest, easiest to read, 
  338. tends-to-build-a-reliable-product language on the planet.á
  339.  
  340. Java stinks! Modula-2 rules!   (editor's note: Ouch!)
  341.  
  342.  
  343.  
  344. A6. Frank Schoonjans mention MedCalc (statistical software for 
  345. Windows, http://www.medcalc.be, developed using Stony Brook Modula-2, 
  346. his main work.
  347.  
  348. A7. The following survey results were once posted by Mat. Maher 
  349. ssu94114@reading.ac.uk
  350.  
  351. ORGANISATION              LOCATION   WORK                   COMPILER
  352. Statoil                   Norway                            StonyBrook
  353. Inst. for Space Nerology  Austria    datafile conversion    TopSpeed
  354.                                       dataviewers
  355. Boeing                    Washington Aerospace Eng.         p1(MAC)
  356. CDSS                      UK         embedded control sys.  TopSpeed
  357.                                       for submarines
  358. (self-employed)           UK         embedded Pcs and       TopSpeed
  359.                                       pc-like chips
  360. (manufacturer)            Finland,   8051 embedded control  Mod51
  361.                            S.Africa,á
  362.                            Australia,
  363.                            NZ, USAááá
  364. Pacific Software          California Point-Of-Sale systems   -
  365. Tele-Soft                 S. Africa  Scientific CAD progs   TopSpeed
  366.                                       Databases
  367. (confidential)            UK         Instrumentation &      TopSpeed &
  368.                                       telemetry              Custom tools
  369. USA Dept. of Energy       Idaho      Reusable components    StonyBrook
  370. Idaho Nat. eng. labs                 systems programming
  371. Locheed Idaho technologies company
  372. Applied software resuse Products
  373. GiaStar Ltd               UK         Satcoms/Comms. Elect.  TopSpeed
  374.                                       design & m/facture.
  375. University of Reading     UK         Teaching,embedded ctrl  TopSpeed
  376. University of Loughborough UK                               StonyBrook
  377. and Hertsfordshire                                          TopSpeed
  378. (sole trader)             UK         Electronic Design      TopSpeed
  379. Atomic Energy of Canada   Canada     Shutdown system for    prototype in
  380. Ltd. (AECL)                          nuclear reactor        TopSpeed
  381.                                                           final version in
  382.                                                           Hicross (HiWare)
  383. Wallac Oy                 Finland    beta/gamma counters    Logitech,
  384.                                       control & data acquis. Multiscope
  385. Inspectron AG             Switzerland remote surveillance   Logitech,
  386.                                                              Multiscope
  387. Bank of New York          USA        funds transfer      ModulAware.com
  388.                                                          (HP OpenVMS Alpha)
  389.                                       customer enquiries     Logitech (VAX/VMS)
  390. (freelance)                          Motorola IC production Logitech
  391.                                       line tools. (Asia)
  392. Dexdyne Ltd               UK         Single-board Pcs &     TopSpeed
  393.                                       applications.
  394. (freelance)               Australia  Shareware              p1 (mac)
  395. Multi-Master AS           Norway     Embedded systems,      Logitech,
  396.                                       remote control & acquis. Multiscope
  397. (confidential)                       room acoustic sim &    TopSpeed
  398.                                       (audio) virtual reality
  399.  
  400. A7. Finally, the keeper of the FAQ notes that he still gets contracts 
  401. to evaluate Modula-2 code in takeover situations and the like. 
  402. Details cannot be made public, but include code written for 
  403. telecommunication and other automatic systems.
  404.  
  405.  
  406. 1.12 Why do universities use Modula-2 for teaching instead of C or C++?
  407. A1. Modula-2 is a type-safe language and its compilers will therefore 
  408. catch many errors that otherwise show up at run time. While 
  409. professional programmers need to learn C++ because it is commonly 
  410. used, it is important to begin a discipline of deliberate, engineered 
  411. programming at the outset. Modula-2 is easier to write in, easier to 
  412. read (it reads left to right) and easier to debug. It lends itself 
  413. well to software engineering. Modula-2 is a higher level language 
  414. than C++, particularly with respect to pointers, all of which have 
  415. types that depend on what is pointed to, and that can be treated as 
  416. addresses only by flagging this fact in the code. A good computing 
  417. science department (such as the one at Trinity Western University, 
  418. where I teach,) tries to inculcate a way of thinking (as a software 
  419. engineer, not a hacker) and beyond that, a breadth of ideas. At TWU 
  420. C, C++, Java, Prolog and other languages, are taught in appropriate 
  421. courses, and on a variety of platforms but not to beginners. Frankly, 
  422. if I had to switch, my first choice would be Ada or Oberon, and my 
  423. second Java (if it ever became cross platform.) If I had to try 
  424. teaching beginners C++, I would retire.
  425.  
  426. A2. Popularity no more implies soundness or superiority when 
  427. considering tools such as Modula-2 and C++ than it does when 
  428. considering hardware (Pentium vs PowerPC), operating systems (Windows 
  429. vs Mac) and applications (Word vs Nisus). Marketing means selling the 
  430. sizzle of appearance not the steak of content; those who know this 
  431. and can apply it consistently win the marketing wars with inferior or 
  432. even poor products. The market situation is no reason to give up on 
  433. the basics of sound tools and methodology. If anything the cirisis 
  434. implied by the inability of large companies to maintain poorly 
  435. designed and bloated software and OSs implies that the industry needs 
  436. to return to basics before it is going to advance much farther.
  437.  
  438.  
  439. 1.13 Why is Modula-2 a good language for large commercial projects?
  440. A1. It supports modular design which reduces errors and cuts down on 
  441. maintenance time.  This also allows platform dependencies to be 
  442. isolated, increasing portability. I/O is found in several 
  443. type-specific modules, so linkers only patch in the I/O code that's 
  444. needed, making programs smaller and faster. This is in sharp contrast 
  445. to the versatile but resource hungry printf in C.
  446.  
  447. A2. see: Griffith, Laurie Modula-2 is three times less error prone 
  448. than C, Proceedings of the Second International Modula-2 Conference, 
  449. Loughborough University of Technology, UK, September 1991, pp 332-338.
  450.  
  451. 1.14 Where do I get information on YAFL?
  452. A. This is yet another OO and Generic derivative of Modula-2. The 
  453. homepage for the language is at http://www.phidani.be/yafl/index.html
  454.  
  455.  
  456. 2. WHERE IS MODULA-2 DISCUSSED?
  457.  
  458. 2.1 COMP.LANG.MODULA-2
  459. This is an internet newsgroup for questions, answers, and discussions 
  460. on Modula-2. You may read it under this name on any machine on which 
  461. you have a news account.
  462.  
  463.  
  464. 2.1.1 How do I post a message to comp.lang.modula2?
  465. A. Post it directly into that group using a news program on any 
  466. computer connected to the network.
  467.  
  468. 2.1.2 How do I retrieve old messages from comp.lang.modula2?
  469. A. Your local news server probably keeps old messages only for a few 
  470. weeks. You should be able to mark the entire group as unread and 
  471. browse whatever is available there.
  472.  
  473.  
  474. 2.2 Amiga lists
  475.  
  476. 2.3.1 A general list for Amiga Modula2/Oberon programming.  This is 
  477. available in a similar manner at amiga-m2@virginia.edu. It is not 
  478. oriented toward any specific compiler.To subscribe, send mail to 
  479. majordomo@virginia.edu containing the message "subscribe 
  480. yourid@youraddress.yourdom amiga-m2".
  481.  
  482. 2.2.2 A mailing-list for the Amiga Turbo Modula-2 Compiler written by 
  483. Amritpal S. Mann. To subscribe, send a message to 
  484. maillist@econet.demon.co.uk with SignOn turbo-list as the Subject. 
  485. Once subscribed, you will receive a copy of all messages sent to the 
  486. address turbo-list@econet.demon.co.uk.
  487.  
  488.  
  489.  
  490. 2.3 Gardens Point Modula-2
  491. To join the GPM mailing list, send mail to majordomo@dstc.qut.edu.au 
  492. with the subject line blank and the body
  493.   of the message containing:
  494.    subscribe gpm
  495.    info gpm
  496.    end
  497. Mail sent to gpm@dstc.qut.edu.au gets automatically forwarded to all
  498.   subscribers on the list. The development team are of course subscribers.
  499.  
  500.  
  501. 2.4 Win32
  502. To join, send mail to listserver@nhm-wien.ac.at
  503. with a blank subject line and the body Subscribe m2-win95-nt-lá
  504. Maintainer: Peter Stadler
  505.  
  506.  
  507. 2.5 ModulaTor
  508. This is a regular publication by Guenter Dotzel of ModulAware.
  509.   Back issues are available at: http://www.modulaware.com/mdltr_.htm
  510.  
  511.  
  512. 3. WHERE CAN I GET MODULA-2 COMPILERS?
  513.  
  514. 3.1 Where can I get commercial Modula-2 compilers?
  515.  
  516. In this section, the listings are by name of the manufacturer (marked 
  517. M) or distributor (marked D.)
  518.  
  519.  
  520. A+L AG
  521. activity  D
  522. products  Compilers, applications, and books.
  523. platforms various
  524. office    Daderiz 61
  525.            CH-2540 Grenchen
  526.            Switzerland
  527. contact   Albert Meier
  528. e-mail    aplusl@spectraweb.ch
  529. voice     +41/65/52 03 11
  530. fax       +41/65/52 03 79
  531.  
  532.  
  533. Excelsior, LLC (replaces XDS)
  534. activity  M
  535. products  Native XDS-x86 - Modula-2/Oberon-2 2.32 compiler for x86 
  536. (Windows, OS/2, Linux)
  537.            XDS-C - Modula-2/Oberon-2 "via C" cross compiler (multiple platforms)
  538.            H2D (freeware) translates C header files to M2 Def Mods
  539.            Portable run-time library in C source code form
  540.            POSIX and Win32 API definition modules platforms PC/OS/2 V3 
  541. V4 (Warp), PC/Win95, PC/WNT PC/Linux,
  542.            Sun/Sparc Solaris, Sun/Sparc SunOS, HP PA-Risc/HP-UX,
  543.            others on request. (Mac no longer supported.)
  544.  
  545. e-mail  info@excelsior-usa.com
  546.            also sold by ModulAware, and Real Time Associtaes
  547.            check the shareware/demo section (below) for product availability
  548. Excelsior WWW home page:
  549. http://www.excelsior-usa.com/
  550. fully functional evaluation kits are available from the site
  551. also see ModulaWare, and Real Time Associates for product availability
  552.  
  553.  
  554. Gardens Point
  555. activity  MD
  556. products  Gardens Point Modula-2
  557. platforms Various Unix, including Linux and FreeBSD, DJGPP, EMX (OS/2)
  558.              and MS-DOS (no Mac)
  559. office    Queensland University of Technology
  560.            Gardens Point Branch
  561.            2 George Street
  562.            POB 2434 Brisbane
  563.            Queensland Australia 4001
  564. contact   John Gough
  565. e-mail    GOUGH@qut.edu.au
  566. contact   Jeffrey Ledermann
  567. e-mail    lederman@dstc.qut.edu.au
  568. webáááááá 
  569. http://www.citi.qut.edu.au/research/plas/projects/gardens_point_modula.jsp
  570. voice     +61 7-864-2132
  571. fax       +61 7-864-1801
  572. see mail list and net sections
  573.  
  574.  
  575. Mandeno Granville Electronics Ltd
  576. activity   MD
  577. products  Mod51 :  80x51 Cross Compiler, ISO extensions
  578.                 Optimised for Embedded Control, Includes some
  579.                 IEC1131 Extensions.
  580.            DbgX51 : Remote Debugger for Mod51 Compiler
  581.            IcePGM : ICE and Programmers, for FLASH cores,
  582.                 using Mod51 platforms DOS Hosted
  583. office    128 Grange Rd
  584.            Auckland 3
  585.            New Zealand
  586. contact
  587. e-mail    Mod51@DesignTools.co.nz
  588. voice     +64 9 6300 558
  589. fax       +64 9 6301 720
  590. webáááááá http://www.designtools.co.nz/
  591.  
  592. The Mill Hill & Canterbury Corporation, Ltd.
  593. activity  MD
  594. product     Canterbury Modula-2 for OS/2 ( PIM, non-ISO,
  595.                object oriented extensions similar to Oberon-2,
  596.                SOM/WPS and Presentation Manager APIs )
  597. platform      OS/2
  598. product     Canterbury Modula-2 for Java 1.1 or 1.2 ( PIM, non-ISO,
  599.                object oriented extensions similar to Oberon-2 )
  600. platform      Any operating system with Java, such as
  601.                    Windows-95/98/NT, OS/2, MacOS (incl. Metrowerks), Unix etc.
  602. product     NITEK MATHPAK 87/32 for Canterbury Modula-2 OS/2
  603. platform      OS/2
  604. contact     S.Neuhoff
  605. e-mail      mhc@webcom.com
  606. WWWáááááá http://www.mhccorp.com/modrelease.html
  607. demoááááá http://www.webcom.com/mhc/java.html
  608. office          P.O.Box 4310 Colchester CO12WL England
  609.  
  610.  
  611. ModulAware
  612. activity  MD
  613. prod/plat Compaq OpenVMS Alpha: Modula-2 and Oberon-2
  614.              64 bit native-code compiler, MaX V5.02 and A2O V3.0, and 
  615. 64 bit Oberon System V4
  616.            Compaq OpenVMS VAX: Modula-2
  617.              32 bit native-code compiler, MVR V4.16
  618. office1   ModulAware
  619.            La Chanenche
  620.            F-04340 Meolans-Revel
  621.            France
  622. tel/fax   +33 492.813 099
  623. contact   Guenter Dotzel
  624. e-mailááá gd@modulAware.com
  625. webáááááá www.modulaware.com
  626.  
  627.  
  628. p1 GmbH
  629. activity  MD
  630. products  MPW and Metrowerks Code Warrier hosted ISO compliant compilers
  631. NOTE:     Current versions of MPW have odds and sods for ISO Modula-2
  632.            written by R. Sutcliffe, for your editing enjoyment
  633. platforms Macintosh
  634. office    Hogenbergstrasse. 20
  635.            80686 Munich
  636.            Germany
  637. contact   Elmar Henne
  638. e-mail    eh@p1.space.net
  639. voice     +49 89-546 13 10
  640. fax       +49 89-580 25 97
  641. webáááááá http://www.awiedemann.de/compiler/index.html
  642.  
  643.  
  644. Real Time Associates Ltd.
  645. activity  D
  646. products  Compilers, books, and training courses
  647. platforms numerous
  648. office    Canning House 59
  649.            Canning Road Croyden Surrey
  650.            CR0 6QF UK
  651. Tel: +44 20 8656 7333
  652. Fax: +44 20 8656 7334
  653.  
  654.  
  655. Stony Brook Software
  656. activity MD
  657. products  Stonybrook Modula-2 ISO compatible. (Environment, editor,
  658.    resource editor, librarian, context sensitive help, optimizing compiler,
  659.    linker, debugger, many extra libraries, including COM, RTL sources)
  660.    Also offers Pascal+
  661. platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows
  662.       32-bit Linux on IA-32 processors, 32-bit Solaris/SunOS on SPARC 
  663. processors.
  664. office    187 E. Wilbur, Suite 4
  665.            Thousand Oaks
  666.            CA 91360, USA
  667. contact   Norman Black
  668. e-mailááá sales@stonybrooksoftware.com
  669. Home page:  http://www.stonybrooksoftware.com
  670. voice     +1 (805) 496-5837
  671. BBS       +1 (805) 379-3357
  672. FAX       +1 (805) 496-7429
  673.  
  674.  
  675. TERRA Datentechnik
  676. activity  MD
  677. products  Logitech/Multiscope Modula-2 and support
  678.            Distributor for Stony Brook Modula-2 (see listing)
  679.            Logitech compatible libraries for Stony Brook Modula-2
  680.            Real and protected mode ROM tools for 80x86 based embeeded
  681.            Modula-2 systems
  682.            TERRA M2VMS/Alpha and M2VMS/VAX
  683. platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows,
  684.            DEC OpenVMS/Alpha and OpenVMS/VAX
  685. office    Bahnhofstrasse 33b
  686.            CH-8703 Erlenbach
  687.            Switzerland
  688. voice     +41 01 910 35 55
  689. fax       +41 01 910 19 92
  690. bbs       +41 01 910 35 31
  691. e-mail    M2Master@TerraTerra.ch
  692. webáááááá http://www.TerraTerra.ch/
  693.  
  694.  
  695.  
  696.  
  697.  
  698. 3.2 Where can I get a free/shareware compiler on the net?
  699.  
  700.  
  701. Fitted Software Tools (FST) Modula-2 for DOS
  702.    ftp://ftp.psg.com/pub/modula-2/fst/fst-40s.lzh
  703. contact: Roger Carvalho
  704. e-mail:  res09tkd@verizon.co
  705. Note:   This compiler was developed by Roger Carvalho but is no longer
  706.    actively supported. It essentially conforms to PIM version 3, but also
  707.    supports some simple and interesting OOP extensions.
  708.    P. O. Box 867403 Plano, TX 75023 USA
  709. Warning: A reader cautions that FST may not work at all if you have 
  710. an AMI BIOS.
  711.  
  712. GCC Version
  713. Title:          m2f
  714. Version:        4.2
  715. Entered-date:   5NOV01
  716. Description:    a complete Modula-2 compiler based on 2nd Edition PIM
  717. Keywords:       Modula-2 compiler linux
  718. Author:         gaius@glam.ac.uk (Gaius Mulley)
  719. Maintained-by:  gaius@glam.ac.uk
  720. Site: http://floppsie.comp.glam.ac.uk
  721. Platforms:      gcc
  722. Copying-policy: GPL
  723. available in source & binary in rpm or tar.gz format from
  724. Features:
  725.    +  Full debugging via emacs/gdb
  726.     +  -students flag performs extra semantic checking
  727.        for dangerous novice programming styles.
  728.   áááá
  729. NOTE: Mide3de2 is a windows IDE for the FST modula-2 compiler. It is 
  730. available from http://sourceforge.net/projects/mide3de2/
  731.  
  732. GNU Version
  733. An earlier attempt to do this flopped, but a new attempt
  734. is being coordinated at 
  735. http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/GNUModula2.html
  736.  
  737. Gardens Point Modula-2 for DOS, Linux and FreeBSD
  738.    ftp://ftp.fit.qut.edu.au//pub/gpm_modula2/
  739.    ftp://ftp.psg.com/pub/modula-2/gpm
  740. (The EMX version runs under OS/2 in protected mode and can be used to
  741. generate OS/2 PM applications. It relies on the GNU tools from the EMX
  742. package ported by Eberhard Mattes 
  743. mattes@azu.informatik.uni-stuttgart.de which can be found at: 
  744. ftp.uni-stuttgart.de/pub/systems/os2/ and various
  745. other mirror sites.
  746.  
  747. MacLogimo for the Macintosh
  748.    ftp://ftp.psg.com/pub/modula-2/mac/maclogimo/
  749.  
  750. MacMETH Modula-2 for Macintosh
  751.   http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html
  752.    It's also available on CD from: http://www.celestin.com/
  753. Note that MacMETH is also released as part of RAMSES
  754. http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html#RAMSES.
  755. RAMSES provides a full featured programming environment for the Macintosh,
  756. containing all of MacMETH (compilers, linkers, symbolic break debugger,
  757. macro editor or language support for Alpha editor) plus hundreds more of
  758. libary modules useful in the context of programing and for scientific
  759. applications. RAMSES contains also the 'Dialog Machine', a platform
  760. independent GUI (see
  761. http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/RAMSES/DialogMachine.html).
  762. 'Dialog Machine' implementations exist for MacOS, GEM (no longer
  763. available), Windows (3.1 .. up to current versions), and Unix.  All
  764. software we have developed, is offered via the internet as freeware.
  765. Contact: Andreas Fischlin andreas.fischlin@ito.umnw.ethz.ch
  766.  
  767. Megamax Modula-2 for the Atari
  768.    This is freeware now and comes with complete source including
  769.    compiler. It runs on all Atari Computers an compatibles and on
  770.    emulators such as MagicMac (Macintosh) and MagiCPC (PC-
  771.    compatibles). The documentation is entirely in german. Available
  772.    from: 
  773. ftp://ftp.fu-berlin.de//atari/programming/modula/Megamax_Modula-2_DevEnv.ZIP
  774.  
  775. MOCKA - Modula Compiler Karlsruhe (Non ISO)
  776.    Universitaet Karlsruhe
  777.    Institut fuer Programm- und Datenstrukturen
  778.    Vincenz-Priessnitz-Strasse 3
  779.    D-76128 Karlsruhe (FRG)
  780.    Phone: *-49-721-608 6088        FAX: *-49-721-691462
  781.    contact: Thilo Gaul
  782.    email: [modula|gaul]@ipd.info.uni-karlsruhe.de
  783.  
  784.    SUN 4        | SUN OS              | SPARC               |
  785.    SUN 4        | Solaris2.x/SunOS 5.0| SPARC               |
  786.    DEC Station  | ULTRIX              | R3000, R2000 (MIPS) |
  787.    Silicon      | IRIX                | R3000, R2000 (MIPS) |
  788.      Graphics   |                     |                     |
  789.    Sony NEWS    | News                | MC 68020 with 68881 |
  790.    SUN 3        | SUN OS              | MC 68020 with 68881 |
  791.    HP 9000/300  | HPUX                | MC 68020 with 68881 |
  792.    HP 9000/700  | HPUX                | C back end          |
  793.    RS6000       | AIX                 | C back end          |
  794.    PC           | Linux               | 80386               | +
  795.    PC           | 386BSD              | 80386               | +
  796.    C-back end   | UNIX                | different           |
  797.    translates   |                     |                     |
  798.    M-2 To C     |                     |                     |
  799.  
  800. The versions marked with a + are free; no order form must be sent, no
  801. license fee to be paid. If you use them, please send an email to
  802. modula@ipd.info.uni-karlsruhe.de.
  803. For more information have a look to
  804.    http://i44w3.info.uni-karlsruhe.de/~modula/
  805. See also ftp://tsx-11.mit.edu/pub/linux/packages/modula-2/  or
  806. ftp://ftp.informatik.hu-berlin.de/pub/os/linux/mirrors/tsx-11.mit.edu/packages/modula-2/ 
  807. for a Linux version.
  808.  
  809.  
  810. Ulm's Modula-2 System m2c (non-ISO)
  811.     web page:á http://www.mathematik.uni-ulm.de/modula/
  812.     all distributions come along with all sources which may be
  813.     freely distributed under the terms of the GNU General Public License
  814.     SPARCv8 / Solaris 2.x
  815.   áááá ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun4/
  816.     MC68020 / SunOS 4.x
  817.   áááá ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun3/
  818. contact: Andreas Borchert borchert@mathematik.uni-ulm.de
  819.  
  820. Excelsior, LLC
  821.   ( Windows 95/NT, OS-2, Linux native code and "via C" compilers. ISO
  822. compatible.)
  823. Makes demo and pre-release versions with some restrictions available.
  824. The download site for all versions is:
  825. http://www.excelsior-usa.com
  826.  
  827. M2Amiga (Open source Modula-2 Compiler for the Commodore Amiga)
  828. Sources and Binaries can be obtained from http://m2amiga.claudio.ch/
  829.  
  830.  
  831.  
  832. 3.3 How about a Summary of Commercial ISO Products for the Major 
  833. Microcomputer platforms?
  834.  
  835. MS-DOS:
  836. GPM, ModulAware, Stony Brook
  837. Windows95/NT:
  838. Stony Brook, XDS
  839. OS/2:
  840. Mill Hill, XDS
  841. MacOS:
  842. p1
  843.  
  844. 3.4 Is there such a thing as a decompiler for Modula-2?
  845. Nope. But feel free to write one. Be sure to include a facility to 
  846. produce the planning
  847.   documents from which the Modula-2 code could be constructed and one 
  848. to find out what
  849.   the users wanted before the planning documents were written.
  850.  
  851. 3.5 Is there any other free or cheap stuff available?
  852. A1. The ISO modules are; beyond that, contact the manufacturer.
  853.  
  854. A2. BURKS (the Brighton University Resource Kit for Students) is a non-profit
  855. set of 2 CDs available from the University of Brighton (UK) or the George
  856. Washington University (USA), price UKP 5.00 / US $8.50 (plus shipping).
  857. Now in its third year, the current (3rd) edition has kindly been sponsored
  858. by GEC-Marconi and ROCC Computers.
  859.  
  860. Aimed at Computer Science students, it provides around 1.1Gb of material
  861. including compilers, tutorials and reference material for over 20 programming
  862. languages; a copy of the Free Online Dictionary of Computing with over 11,000
  863. definitions; a Linux distribution, together with a set of Linux manuals; FAQs,
  864. tutorials and specifications for Internet and PC related topics (e.g. HTML,
  865. FTP, XMS, Winsock, storage devices, modems...), and a large selection of
  866. MS-DOS and Windows software.
  867.  
  868. Modula2-related material includes the FST and GPM compilers, Rick Sutcliffe's
  869. "Modula-2: Abstractions for Data and Programming Structures", the Coronado
  870. tuorial, the Modula-2 FAQ, and the GPM Language Reference Manual.
  871.  
  872. The entire collection is available online at http://burks.bton.ac.uk/.
  873. Modula2-related material is at http://burks.bton.ac.uk/burks/language/modula2/.
  874. Ordering information (including shipping costs to various destinations)
  875. is also available online (at http://burks.bton.ac.uk/ordering.htm).
  876.  
  877. -- 
  878. Rick Sutcliffe Professor Math/Cmpt Trinity Western University. Try 
  879. <http://www.arjay.bc.ca> for Christian SF, books on Modula-2 and 
  880. Ethics in Technology. Philology site at <http://www.opundo.com>
  881.