home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / Modula-2-faq < prev    next >
Text File  |  1993-10-31  |  18KB  |  517 lines

  1. Newsgroups: comp.lang.modula2,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!medusa.hookup.net!news.kei.com!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!uunet!psgrain!news
  3. From: randy@psg.com (Randy Bush)
  4. Subject: comp.lang.modula2: Answers to Common Questions  -  v1.7 93.10.29
  5. Message-ID: <1993Oct30.014757.3259@psg.com>
  6. Followup-To: comp.lang.modula2
  7. Summary: This posting contains a list of Frequently Asked Questions (and
  8.     their answers) about the programming language Modula-2 and the Usenet
  9.     newsgroiup comp.lang.modula2.  It might well be read by anyone before
  10.     posting a question to comp.lang.modula2.
  11. Sender: news@psg.com (Randy Bush)
  12. Organization: PSGnet, Portland Oregon, US
  13. Date: Sat, 30 Oct 1993 01:47:57 GMT
  14. Approved: news-answers-request@mit.edu
  15. Expires: Fri, 31 Dec 1993 00:00:00 GMT
  16. Lines: 498
  17. Xref: senator-bedfellow.mit.edu comp.lang.modula2:8241 comp.answers:2448 news.answers:14036
  18.  
  19. Archive-name: Modula-2-faq
  20. Last-modified: 1993/10/29
  21. Version: 1.7
  22.  
  23. Originally-By: mgallo@iptech.com (Mike Gallo)
  24. Maintained-By: randy@psg.com (Randy Bush)
  25.  
  26. Copyright 1992-3, M Gallo and R Bush.  All rights reserved.  May be
  27. distributed for free only in toto, including this notice.
  28.  
  29. Additions corrections solicited.  Commercials and commercial products are
  30. intentionally undermentioned.  Implementors are preferred to distributors.
  31.  
  32. CONTENT
  33.  
  34. 1)  What is comp.lang.modula2?
  35. 2)  What is Modula-2?
  36. 3)  What about Modula-2 standardization?
  37. 4)  What are Oberon and Oberon-2?
  38. 5)  What about Modula-3, Object Oberon, and Seneca?
  39. 6)  Where can I find implementations of Modula-2?
  40. 7)  Where can I find implementations of Oberon[-2]?
  41. 8)  Where can I find interesting libraries and sources?
  42. 9)  Some popular FTP sites
  43.  
  44.  
  45. 1)  What is comp.lang.modula2?
  46.  
  47. comp.lang.modula2 is a forum for the discussion of the Modula-2 programming
  48. language and related topics.  Prominent "related topics" have been the Oberon
  49. languages.  The newsgroup is gated to the FidoNet echo conference MODULA-2.
  50.  
  51. Folk with only Internet E-Mail access can participate in the discussion by
  52. joining the INFO-M2 mailing list.  To do this, send an E-Mail message to
  53. listserv@ucf1vm.cc.ucf.edu, with the following in the message body:
  54.     subscribe info-M2 yourFirstname yourLastName
  55. This server also has a very large archive of previous messages.
  56.  
  57. 2)  What is Modula-2?
  58.  
  59. Modula-2 is a programming language designed by Niklaus Wirth of Pascal fame.
  60. Among other things, it features strong typing,modules, a rich variety of data
  61. types, a powerful set of control statements, procedure types, opaque types,
  62. and coroutines.
  63.  
  64.  
  65. 3)  What about Modula-2 standardization?
  66.  
  67. There is no standard for the Modula-2 language or library beyond Niklaus
  68. Wirth's classic text, "Programming in Modula-2".  There is an ISO committee,
  69. ISO/JTC1/SC22/WG13, which has circulated a number of drafts which have varied
  70. between editions.  The current edition is the "2nd Committee Draft Standard:
  71. CD 10514 December 1992."  Its distribution has been restricted.
  72.  
  73. To find out what's happening with standardization, contact the chair of WG13,
  74. Mark Woodman, m.woodman@open.ac.uk.
  75.  
  76.  
  77. 4)  What are Oberon and Oberon-2?
  78.  
  79. The Oberon language was a part of Wirth's Oberon operating system.  Oberon is
  80. the successor to Modula-2 by its original designer,Niklaus Wirth of ETH,
  81. Zurich.  In brief, it removes variant records, opaque types, enumerations,
  82. subranges, the CARDINAL type, local modules, automatic qualifications, general
  83. indexing, the FOR and WITH statements, and even the notion of a program or
  84. main module.  Oberon adds type extension (inheritance) and, in its purest
  85. form, automatic garbage collection.
  86.  
  87. Oberon-2 is Oberon with a small set of extensions by H. Moessenboeck, also of
  88. ETH, Zurich.  These extensions are type-bound procedures (methods), read-only
  89. export, open array variables, a WITH statement with variants, and the
  90. reintroduction of the FOR loop.
  91.  
  92. More detailed information can be found in "Software: Practice and Experience"
  93. (July 1988, September 1989) and by anonymous ftp from the host
  94. neptune.inf.ethz.ch:/Oberon/Docu.
  95.  
  96. "Project Oberon, The Design of an Operating System and Compiler"
  97. N. Wirth and J. Gutknecht
  98. ACM Press and Addison-Weseley Publishing Company, 1992
  99. ISBN 0-201-54428-8 
  100. neptune.inf.ethz.ch (129.132.101.33)
  101. in ~ftp/Oberon/Examples/ProjectOberon.tar.Z
  102. File ~ftp/Oberon/Examples/readme.PO gives some further information.
  103.  
  104. "Programming in Oberon", Reiser & Wirth, ACM Press, 320 pgs, 1992.
  105.  
  106. "The Programming Language Oberon-2", Moessenboeck & Wirth, _Structured
  107. Programming_, Vol. 12, No. 4, pp. 179-195, 1991.
  108.  
  109.  
  110. 5)  What about Modula-3, Object Oberon, and Seneca?
  111.  
  112. Modula-3 is an interesting language designed at DEC Software Research Center,
  113. also as a successor to Modula-2.  Unless there is a specific question about
  114. how it relates to Modula-2 or Oberon, posts about Modula-3 would be better
  115. directed to Comp.lang.modula3.
  116.  
  117. Object Oberon is an Oberon variant designed by H.  Moessenboeck and J. Templ
  118. of ETH, Zurich.  It eventually evolved into Oberon-2.
  119.  
  120. Seneca is an Oberon variant focusing on numerical applications and is by R.
  121. Griesemer of ETH, Zurich. It is still under development.
  122.  
  123.  
  124. 6)  Where can I find (preferably free) implementations of Modula-2?
  125.  
  126. While there have been several implementations of Modula-2, they are not as
  127. numerous nor as easy to find as, for example, C.  Some implementations are
  128. listed below.  These are merely some commonly used implementations, and should
  129. not be taken as a recommendation of any of the following products.  Only
  130. implementors are listed, not distribuors.  Free or shareware implementations
  131. receive preferential treatment, as they encourage the new and/or experimental
  132. Modulan.
  133.  
  134. For MS-DOS:
  135.  
  136.      Fitted Software Tools
  137.      P.O. Box 867403
  138.      Plano, TX 75086
  139.      USA
  140.      ftp at ftp.psg.com:pub/modula-2/pc
  141.      FidoNet .REQuest from 1:105/6
  142.  
  143.      Gardens Point Modula-2
  144.      ftp at ftp.psg.com:pub/modula-2/pc
  145.  
  146.      Clarion Topspeed Modula-2
  147.      Clarion Software
  148.      150 East Sample Road
  149.      Pompano Beach, FL  33064
  150.      USA
  151.  
  152.      Extasy Modula-2 (crippled version)
  153.      ftp.uu.net:/systems/ibmpc/msdos/simtel20/pgmutl/xc1305.zip
  154.      ftp.uni-padeborn.de:/msdos/pgmutl/xc1305.zip
  155.  
  156.      Multiscope Modula-2
  157.      Multiscope, Inc.
  158.      1235 Pear Ave.
  159.      Mountain View, CA  94043
  160.      USA
  161.      (415) 968-4892
  162.  
  163.      Stony Brook Software
  164.      187 East Wilbur, Suite 9
  165.      Thousand Oaks, CA 91360
  166.      USA
  167.      Tel: +1 (805) 496 5837 (tech Support)
  168.      Fax; +1 (805) 496 7429
  169.  
  170. Sun-4:
  171.  
  172.     The only free Sun4-implementation I've heard of is that of Metrowerks
  173.     (ftp 132.208.12.5, login metro, passwd release4.0) but I haven't tested
  174.     it yet.
  175.     -- borchert@mathematik.uni-ulm.de
  176.  
  177.     While Sun (more properly SunPro) has discontinued direct support of M2,
  178.     responsibility for it has been transferred to
  179.     Edinburgh Portable Compilers Ltd
  180.     17 Alva Street
  181.     Edinburgh EH2 4PH
  182.     Scotland
  183.     Tel (44) 31 225-6262
  184.     FAX (44) 31 225-6644
  185.  
  186. Sun-3:
  187.  
  188.     From: borchert@MATHEMATIK.UNI-ULM.DE (Andreas Borchert)
  189.  
  190.     Ulm's Modula-2 system for SUN 3 is now available via anonymous ftp from
  191.     titania.mathematik.uni-ulm.de (134.60.66.21). You'll find it in the
  192.     subdirectory pub/soft/modula/ulm/sun3.
  193.  
  194. Macintosh:
  195.  
  196.     MacMETH Modula-2 for the Mac
  197.     neptune.inf.ethz.ch:~/macmeth/*
  198.     ftp.psg.com:~/pub/.modula-2/macMETH/*
  199.  
  200.     p1 GmbH
  201.     Hogenbergstr. 20
  202.     W-8000 Munich 21
  203.     Germany
  204.     Tel   : +49(89)5461310
  205.     Fax   : +49(89)5802597
  206.     E-Mail: GER.XSE0109@AppleLink.Apple.COM (Elmar Henne)
  207.     (features Object oriented extensions which are compatible with Apple's
  208.      Object Pascal and MacApp)
  209.  
  210.     Metrowerks, Inc.
  211.     The Trimex Bldg, Rte 11
  212.     Mooers, NY 12958
  213.     USA
  214.     Tel  : (514) 458-2018
  215.     Email: achim@mips1.info.uqam.ca (Marcel Achim)
  216.     (Wirth's one-pass ported to MacOS, module size limited to 32k)
  217.  
  218. VMS:
  219.  
  220.     Florian Matthes
  221.     Fachbereich Informatik
  222.     Universitaet Hamburg      Tel. + (49) 40 4123 4144
  223.     Schlueterstrasse 70       Fax. + (49) 40 4123 6122
  224.     D-2000 Hamburg 13         e-mail: matthes@dbis1.informatik.uni-hamburg.de
  225.     Germany
  226.  
  227.     TERRA Datentechnik
  228.     Bahnhofstrasse 33
  229.     CH-8703 Erlenbach
  230.     Switzerland
  231.     (M2VMS (formerly Logitech's?) + distributor for others)
  232.     Phone: +41 1 910 35 55
  233.     Fax:   +41 1 910 19 92
  234.     BBS:   +41 1 910 35 31 (300 - 9600 baud, 8, N, 1)
  235.  
  236. Misc:
  237.  
  238.     A Modula-2 compiler for VAX BSD & ULTRIX and for MIPS/ULTRIX is available
  239.     via FTP from gatekeeper.dec.com:pub/DEC/Modula-2.
  240.  
  241.     2i Industrial Informatics GmbH
  242.     Haierweg 20e
  243.     D-7800 Freiburg
  244.     Germany
  245.     (MOCKA Modula-2 for DEC VAX(VMS&ULTRIX) & maybe others)
  246.  
  247.     A+L AG
  248.     D"aderiz 61
  249.     CH-2540 Grenchen
  250.     (From: hartmut@oberon.nbg.sub.org (Hartmut Goebel)
  251.     (distributes both a M2 and an Oberon-2 compiler for AmigaOS)
  252.  
  253.     AMSoft, contact
  254.     claudio@amsoft.net.ch
  255.     (M2Amiga)
  256.  
  257.     Armadillo Computing
  258.     5225 Marymount Drive
  259.     Austin, Texas 78723 USA
  260.     512/926-0360
  261.     Internet: jolinger@bix.com
  262.     (M2 for Amiga)
  263.     (From: jolinger@bix.com)
  264.  
  265.     Associated Computer Experts b.v.
  266.     Van Eeghenstraat 100
  267.     Amsterdam 1071GL
  268.     Netherlands
  269.     (Modula-2 for 680x0)
  270.  
  271.     Edinburgh Portable Compilers, Ltd.
  272.     17 Alva Street
  273.     Edinburgh
  274.     EH2 4PH
  275.     UK
  276.     Telephone:  +44 31 225 6262
  277.     Fax:        +44 31 225 6644
  278.     (SCO Unix V, Motorola 88000 generic, Sun 3 and Sun 4, Unisys 6000 series,
  279.     Sequent Symmetry, Interactive Unix V, ICL DRS 400E  and 6000, Solbourne)
  280.  
  281.     Introl Corporation
  282.     9220 W. Howard Avenue     647 W. Virginia St.
  283.     Milwaukee, WI 53288       Milwaukee, WI 53204
  284.     U.S.A>
  285.     (Cross compiler for targets H630x, M680x, M680x0, NS32000)
  286.  
  287.     Jefferson Software
  288.     12416 N. 28th Dr. #18-236
  289.     Phoenix, AZ 85029-2434
  290.     U.S.A.
  291.     (Jefferson Modula-2 for Atari ST (and others?))
  292.  
  293.     Mandeno Granville Electronics Ltd.
  294.     128 Grange Rd.
  295.     Auckland 3
  296.     New Zealand.
  297.     ph +64 9 6300558
  298.     fax =64 9 6301720
  299.     (compiler available for the Intel 8051 family of Micro's)
  300.     (From: dekker@decus.org.nz)
  301.  
  302.     Masthaven Development Limited
  303.     East Suite, 511 Coldham Lane
  304.     Cambridge CB1 3LN
  305.     United Kingdom
  306.     (Modula-2 for 68000 UNIX)
  307.  
  308.     Megamax
  309.     1200 East Collins, Suite 214
  310.     Richardson, TX 75081
  311.     U.S.A.
  312.     (Modula-2 for Atari ST)
  313.  
  314.     ModulaWare GmbH
  315.     GraphicSystems & Modula-2 Software
  316.     Wilhelstrasse 17A
  317.     D-8520 Erlangen
  318.     Phone: 49-9131/208395
  319.     Fax:   49-9131/28205
  320.     e-mail: g_dotzel@ame.nbg.sub.org
  321.     (distributor for many platforms)
  322.  
  323.     Rowley Associates
  324.     32 Rowley
  325.     Cam, Dursley
  326.     Glos. GL11 5NT
  327.     United Kingdom
  328.     (Modula-2 for "most platforms")
  329.  
  330.     Vail Silicon Tools Inc.
  331.     Box 165
  332.     Pompano Beach, FL 33069
  333.     U.S.A.
  334.     (cross-compiler (PC host) for 8051 controller)
  335.  
  336.     WATCOM
  337.     415 Phillip Street
  338.     Waterloo, Ontario  N2L 3X2
  339.     Canada
  340.     Tel.:  (519) 886-3700
  341.     FAX:   (519) 747-4971
  342.     BBS:   (519) 884-2103
  343.     Telex: 06-955458
  344.     email: tech@watcom.on.ca
  345.     (Modula-2 VM/SP CMS)
  346.  
  347. [ m2c, a Modula-2 to C translator kit ]
  348.  
  349.     From: sgccseh@citecuc.citec.oz.au (Stephen Hocking)
  350.  
  351.     It is in /pub/cocktail/mtc.tar.Z on the machine ftp.karlsruhe.gmd.de,
  352.     where the bloke who wrote it all (Josef Grosch) is based. You will also
  353.     need reuse.tar.Z and front.tar.Z from the same directory. For those
  354.     interested in compilers, that directory is a goldmine.  The stuttgart-uni
  355.     address was an alternative whose connections were a bit more reliable at
  356.     the time.
  357.  
  358.     Ross L Richardson <rlr@postoffice.utas.edu.au> comments:
  359.  
  360.     I believe mtc was originally written by M[atthias] Martin, as some kind
  361.     of Diploma project.
  362.  
  363. Modula-2*
  364.  
  365.     Modula-2* Compiler Available
  366.  
  367.     Modula-2* constructs allow for clear and portable parallel software
  368.     without intolerable loss of efficiency.  The following list contains
  369.     the main advances of Modula-2*:
  370.  
  371.     o The programming model of Modula-2* is a strict superset of data
  372.       parallelism.  It allows both synchronous and asynchronous parallel
  373.       programs.
  374.     o Modula-2* is problem-oriented in the sense that the programmer can
  375.       choose the degree of parallelism and mix the control mode (SIMD- or
  376.       MIMD-like) as needed by the intended algorithm.
  377.     o Parallelism may be nested to arbitrary depth.
  378.     o Procedures may be called from sequential or parallel contexts and can
  379.       themselves generate parallel activity without any restrictions.
  380.     o Most Modula-2* programs can be translated into efficient code for both
  381.       SIMD and MIMD architectures.
  382.  
  383.     Recently, we put a SPARC/SunOS 4.1.1 binary version of our Modula-2*
  384.     compiler "msc" on ftp. This version is now available via anonymous ftp
  385.     from iraun1.ira.uka.de:pub/programming/modula2star.
  386.  
  387.  
  388. 7)  Where can I find implementations of Oberon(-2)?
  389.  
  390. To repeat, this should not be taken as a recommendation of any of the
  391. following products, but. . .
  392.  
  393. ETH, Zurich has released free implementations of the Oberon system.  These
  394. include Oberon compilers.  They are available by anonymous ftp at
  395. neptune.inf.ethz.ch:/Oberon/* or gatekeeper.dec.com:/pub/plan/oberon/*.
  396.  
  397. Oberon-M is an independently produced Oberon compiler for MS-DOS systems that
  398. can also be found at neptune and gatekeeper.
  399.  
  400. There is also a Modula-2/Oberon-2 to C translator available through
  401.     Real Time Associates Ltd.
  402.     Canning House
  403.     59 Canning Road
  404.     Croydon, Surrey  CRO 6QF
  405.     UK
  406.  
  407. From: thutt@THAMA1.APGEA.ARMY.MIL
  408.  
  409.     The source to the Oberon compilers is not publicly available however, you
  410.     can license the front end and/or the back end for the Oberon-2 compiler
  411.     from ETH for 1000 Swiss Francs.  The license agreement does prohibits you
  412.     from redistributing the source, but you are free to do whatever you want
  413.     with any derivative product, provided you give ETH credit for the original
  414.     compiler source.
  415.  
  416.     You are also required to make ETH aware of your product, and provide the
  417.     product to them should they ask.  It does not state if it needs to be
  418.     source or executable code, however.
  419.  
  420.     It is a pretty loose agreement, but not so loose to hinder ETH.  1000 SFr
  421.     is about 757 dollars, as of last month.
  422.  
  423. AmigaOberon:
  424.   Fridtjof Siebert
  425.   fridi@amokst.stgt.sub.org
  426.  
  427.  
  428. 8) Where can I find interesting libraries and sources?
  429.  
  430. The FTP sites listed in 9.
  431.  
  432. Amiga Sources:
  433.  
  434.     From: htgoebel@cip.informatik.uni-erlangen.de (hartmut Goebel)
  435.     
  436.     At ftp.uni-paderborn.de in /amiga/amok you can get all the disks from the
  437.     AMOK series via anonymous ftp.  Please download only 18.00 - 8.00 h
  438.     (MET), cause the transmitt rate is low. Perhaps someone call move the
  439.     disks to overseas, too.
  440.  
  441.     On this series there are several modules both for Oberon and modula2 and
  442.     executable programms (most with source).  While the Programms almost run
  443.     only on the Amiga, the modules may be interesting for other systems, too.
  444.  
  445.     There are modules for many diverent usages, not only generic.
  446.  
  447. MAS Modula-2 Algebra System
  448.  
  449.     From: kredel@unipas.fmi.uni-passau.de (Heinz Kredel)
  450.  
  451.     MAS is an experimental computer algebra system combining imperative
  452.     programming facilities with algebraic specification capabilities for
  453.     design and study of algebraic algorithms.  MAS views mathematics in the
  454.     sense of universal algebra and model theory and is in some parts
  455.     influenced by category theory.
  456.  
  457.     MAS (0.3x and 06.x) is available on electronic networks (internet) via
  458.     anonymous ftp from:  alice.fmi.uni-passau.de = 123.231.10.1
  459.  
  460. Repertoire and other software component libraries
  461.     PMI
  462.     P.O. Box 8402                 3279 N. Nicolet Drive
  463.     Green Bay, WI 54308-8402      Green Bay, WI 54311
  464.     U.S.A.
  465.  
  466.     PMOS is a collection of modules to allow you to write multitasking
  467.     programs.  It runs on IBM-PC compatible computers.  It has been
  468.     compiled with TopSpeed Modula-2.  Porting to other machines and
  469.     compilers is possible, but should probably be tackled only by
  470.     experienced programmers.
  471.     
  472. PMOS - a multitasking library (ftp.psg.com)
  473.  
  474.     The package is potentially of interest to
  475.      - people who want to write real-time applications for the IBM-PC;
  476.      - Modula-2 programmers who want a collection of utility modules;
  477.      - students of operating systems who want to look at real code.
  478.     Full source is included.
  479.     
  480.     The PMOS package includes
  481.      - a kernel which contains a CreateTask procedure, plus various
  482.        routines to support the multitasking.
  483.      - intertask communication via semaphores, mailboxes, queues;
  484.        or you can add your own mechanisms.
  485.      - device drivers for keyboard, printer, A/D, floppy disk, hard
  486.        disk, hardware timer.  (No mouse as yet.)
  487.      - a file system compatible with the MS-DOS FAT system; or you
  488.        can choose to use standard library file operations.
  489.      - screen windows in both text and graphics modes.  (The text-mode
  490.        support is very complete; graphics modes are less fully
  491.        supported so far.)
  492.      - screen utilities such as menus, on-screen editing of defined
  493.        data fields, multiple virtual screens.
  494.      - miscellaneous modules: random numbers, some data structures,
  495.        sorting, etc.
  496.  
  497.  
  498.  
  499. 9) Some Popular FTP sites:
  500.  
  501.     neptune.inf.ethz.ch
  502.     gatekeeper.dec.com
  503.     ftp.psg.com
  504.     titania.mathematik.uni-ulm.de
  505.  
  506. FidoNet's Modula-2/Oberon Archive
  507.  
  508.     1:105/6 has a lot of source, compilers, examples, ...  +1 (503) 297-9145
  509.  
  510.     Also has an archive of old c.l.m2 and MODULA-2.
  511.  
  512.  
  513. -30-
  514.  
  515. --
  516. randy@psg.com   ...!uunet!m2xenix!randy
  517.