From: randy@psg.com (Randy Bush)
Subject: FAQ: comp.lang.modula2  -  v1.0 93.1.1
Organization: Pacific Systems Group, Portland Oregon, US
Date: Sat, 2 Jan 1993 05:35:52 GMT

Originally by     - mgallo@iptech.com (Mike Gallo)
Maintained by	  - randy@psg.com (Randy Bush)

Additions corrections solicited.

CONTENT

1)  What is comp.lang.modula2?
2)  What is Modula-2?
3)  What about Modula-2 standardization?
4)  What are Oberon and Oberon-2?
5)  What about Modula-3, Object Oberon, and Seneca?
6)  Where can I find implementations of Modula-2?
7)  Where can I find implementations of Oberon[-2]?
8)  Where can I find interesting libraries and sources?
9) Some popular FTP sites


1)  What is comp.lang.modula2?

comp.lang.modula2 is a forum for the discussion of the Modula-2 programming
language and related topics.  Prominent "related topics" have been the Oberon
languages.  The newsgroup is gated to the FidoNet echo conference MODULA-2.


2)  What is Modula-2?

Modula-2 is a programming language designed by Niklaus Wirth of Pascal fame.
Among other things, it features strong typing,modules, a rich variety of data
types, a powerful set of control statements, procedure types, opaque types,
and coroutines.


3)  What about Modula-2 standardization?

There is no standard for the Modula-2 language or library beyond Niklaus
Wirth's classic text, "Programming in Modula-2".  There is an ISO committee,
ISO/JTC1/SC22/WG13, which has circulated a number of drafts which have varied
between editions.  The current edition is the "2nd Committee Draft Standard:
CD 10514 December 1992."  It is distribution has been restricted.

To find out what's happening with standardization, contact the chair of WG13,
Mark Woodman, m.woodman@open.ac.uk.


4)  What are Oberon and Oberon-2?

The Oberon language was a part of Wirth's Oberon operating system.  Oberon is
the successor to Modula-2 by its original designer,Niklaus Wirth of ETH,
Zurich.  In brief, it removes variant records, opaque types, enumerations,
subranges, the CARDINAL type, local modules, automatic qualifications, general
indexing, the FOR and WITH statements, and even the notion of a program or
main module.  Oberon adds type extension (inheritance) and, in its purest
form, automatic garbage collection.

Oberon-2 is Oberon with a small set of extensions by H. Moessenboeck, also of
ETH, Zurich.  These extensions are type-bound procedures (methods), read-only
export, open array variables, a WITH statement with variants, and the
reintroduction of the FOR loop.

More detailed information can be found in "Software: Practice and Experience"
(July 1988, September 1989) and by anonymous ftp from the host
neptune.inf.ethz.ch:/Oberon/Docu.

"Project Oberon, The Design of an Operating System and Compiler"
N. Wirth and J. Gutknecht
ACM Press and Addison-Weseley Publishing Company, 1992
ISBN 0-201-54428-8 
neptune.inf.ethz.ch (129.132.101.33)
in ~ftp/Oberon/Examples/ProjectOberon.tar.Z
File ~ftp/Oberon/Examples/readme.PO gives some further information.

"Programming in Oberon", Reiser & Wirth, ACM Press, 320 pgs, 1992.

"The Programming Language Oberon-2", Moessenboeck & Wirth, _Structured
Programming_, Vol. 12, No. 4, pp. 179-195, 1991.


5)  What about Modula-3, Object Oberon, and Seneca?

Modula-3 is an interesting language designed at DEC Software Research Center,
also as a successor to Modula-2.  Unless there is a specific question about
how it relates to Modula-2 or Oberon, posts about Modula-3 would be better
directed to Comp.lang.modula3.

Object Oberon is an Oberon variant designed by H.  Moessenboeck and J. Templ
of ETH, Zurich.  It eventually evolved into Oberon-2.

Seneca is an Oberon variant focusing on numerical applications and is by R.
Griesemer of ETH, Zurich. It is still under development.


6)  Where can I find implementations of Modula-2?

While there have been several implementations of Modula-2, they are not as
numerous nor as easy to find as, for example, C.  Some implementations are
listed below.  These are merely some commonly used implementations, and should
not be taken as a recommendation of any of the following products.  Only
implementors are listed, not distribuors.  Free or shareware implementations
receive preferential treatment, as they encourage the new and/or experimental
Modulan.

For MS-DOS:

     Fitted Software Tools
     P.O. Box 867403
     Plano, TX 75086
     USA
     ftp at ftp.psg.com:pub/modula-2/pc
     FidoNet .REQuest from 1:105/6

     Clarion Topspeed Modula-2
     Clarion Software
     150 East Sample Road
     Pompano Beach, FL  33064
     USA

     Multiscope Modula-2
     Multiscope, Inc.
     1235 Pear Ave.
     Mountain View, CA  94043
     USA
     (415) 968-4892

     Stony Brook Software
     187 East Wilbur, Suite 9
     Thousand Oaks, CA 91360
     USA
     Tel: +1 (805) 496 5837 (tech Support)
     Fax; +1 (805) 496 7429

Sun-4:

    The only free Sun4-implementation I've heard of is that of Metrowerks
    (ftp 132.208.12.5, login metro, passwd release4.0) but I haven't tested
    it yet.
    -- borchert@mathematik.uni-ulm.de

Sun-3:

    From: borchert@MATHEMATIK.UNI-ULM.DE (Andreas Borchert)

    Ulm's Modula-2 system for SUN 3 is now available via anonymous ftp from
    titania.mathematik.uni-ulm.de (134.60.66.21). You'll find it in the
    subdirectory pub/soft/modula/ulm/sun3.

Macintosh:

    MacMETH Modula-2 for the Mac
    neptune.inf.ethz.ch:~/macmeth/*
    ftp.psg.com:~/pub/.modula-2/macMETH/*

    p1 GmbH
    Hogenbergstr. 20
    W-8000 Munich 21
    Germany
    Tel   : +49(89)5461310
    Fax   : +49(89)5802597
    E-Mail: GER.XSE0109@AppleLink.Apple.COM (Elmar Henne)
    (features Object oriented extensions which are compatible with Apple's
     Object Pascal and MacApp)

    Metrowerks, Inc.
    The Trimex Bldg, Rte 11
    Mooers, NY 12958
    USA
    Tel  : (514) 458-2018
    Email: achim@mips.info.uqam.ca (Marcel Achim)
    (Wirth's one-pass ported to MacOS, module size limited to 32k)

VMS:

    TERRA Datentechnik
    Bahnhofstrasse 33
    CH-8703 Erlenbach
    Switzerland
    (M2VMS (formerly Logitech's?) + distributor for others)
    Phone: +41 1 910 35 55
    Fax:   +41 1 910 19 92
    BBS:   +41 1 910 35 31 (300 - 9600 baud, 8, N, 1)

    ModulaWare GmbH
    GraphicSystems & Modula-2 Software
    Wilhelstrasse 17A
    D-8520 Erlangen
    Phone: 49-9131/208395
    Fax:   49-9131/28205
    e-mail: g_dotzel@ame.nbg.sub.org

Misc:

    A Modula-2 compiler for VAX BSD & ULTRIX and for MIPS/ULTRIX is available
    via FTP from gatekeeper.dec.com:pub/DEC/Modula-2.

    2i Industrial Informatics GmbH
    Haierweg 20e
    D-7800 Freiburg
    Germany
    (MOCKA Modula-2 for DEC VAX(VMS&ULTRIX) & maybe others)

    Associated Computer Experts b.v.
    Van Eeghenstraat 100
    Amsterdam 1071GL
    Netherlands
    (Modula-2 for 680x0)

    Edinburgh Portable Compilers, Ltd.
    17 Alva Street
    Edinburgh
    EH2 4PH
    UK
    Telephone:  +44 31 225 6262
    Fax:        +44 31 225 6644
    (SCO Unix V, Motorola 88000 generic, Sun 3 and Sun 4, Unisys 6000 series,
    Sequent Symmetry, Interactive Unix V, ICL DRS 400E  and 6000, Solbourne)

    Introl Corporation
    9220 W. Howard Avenue     647 W. Virginia St.
    Milwaukee, WI 53288       Milwaukee, WI 53204
    U.S.A>
    (Cross compiler for targets H630x, M680x, M680x0, NS32000)

    Jefferson Software
    12416 N. 28th Dr. #18-236
    Phoenix, AZ 85029-2434
    U.S.A.
    (Jefferson Modula-2 for Atari ST (and others?))

    Masthaven Development Limited
    East Suite, 511 Coldham Lane
    Cambridge CB1 3LN
    United Kingdom
    (Modula-2 for 68000 UNIX)

    Megamax
    1200 East Collins, Suite 214
    Richardson, TX 75081
    U.S.A.
    (Modula-2 for Atari ST (and maybe Commodore Amiga?))

    Rowley Associates
    32 Rowley
    Cam, Dursley
    Glos. GL11 5NT
    United Kingdom
    (Modula-2 for "most platforms")

    TDI Software Inc.
    10355 Brockwood Rd.
    Dallas, Texas 75238
    U.S.A.
    (Modula-2 for Amiga, Atari ST, and Macintosh)

    Vail Silicon Tools Inc.
    Box 165
    Pompano Beach, FL 33069
    U.S.A.
    (cross-compiler (PC host) for 8051 controller)

    WATCOM
    415 Phillip Street
    Waterloo, Ontario  N2L 3X2
    Canada
    Tel.:  (519) 886-3700
    FAX:   (519) 747-4971
    BBS:   (519) 884-2103
    Telex: 06-955458
    email: tech@watcom.on.ca
    (Modula-2 VM/SP CMS)

[a Modula-2 to C translator kit ]

    From: sgccseh@citecuc.citec.oz.au (Stephen Hocking)

    It is in /pub/cocktail/mtc.tar.Z on the machine ftp.karlsruhe.gmd.de,
    where the bloke who wrote it all (Josef Grosch) is based. You will also
    need reuse.tar.Z and front.tar.Z from the same directory. For those
    interested in compilers, that directory is a goldmine.  The stuttgart-uni
    address was an alternative whose connections were a bit more reliable at
    the time.

Modula-2*

    Modula-2* Compiler Available

    Modula-2* constructs allow for clear and portable parallel software
    without intolerable loss of efficiency.  The following list contains
    the main advances of Modula-2*:

    o The programming model of Modula-2* is a strict superset of data
      parallelism.  It allows both synchronous and asynchronous parallel
      programs.
    o Modula-2* is problem-oriented in the sense that the programmer can
      choose the degree of parallelism and mix the control mode (SIMD- or
      MIMD-like) as needed by the intended algorithm.
    o Parallelism may be nested to arbitrary depth.
    o Procedures may be called from sequential or parallel contexts and can
      themselves generate parallel activity without any restrictions.
    o Most Modula-2* programs can be translated into efficient code for both
      SIMD and MIMD architectures.

    Recently, we put a SPARC/SunOS 4.1.1 binary version of our Modula-2*
    compiler "msc" on ftp. This version is now available via anonymous ftp
    from iraun1.ira.uka.de:pub/programming/modula2star.


7)  Where can I find implementations of Oberon(-2)?

To repeat, this should not be taken as a recommendation of any of the
following products, but. . .

ETH, Zurich has released free implementations of the Oberon system.  These
include Oberon compilers.  They are available by anonymous ftp at
neptune.inf.ethz.ch:/Oberon/* or gatekeeper.dec.com:/pub/plan/oberon/*.

Oberon-M is an independently produced Oberon compiler for MS-DOS systems that
can also be found at neptune and gatekeeper.

There is also a Modula-2/Oberon-2 to C translator available through
    Real Time Associates Ltd.
    Canning House
    59 Canning Road
    Croydon, Surrey  CRO 6QF
    UK

From: thutt@THAMA1.APGEA.ARMY.MIL
Subject: Oberon compiler information
Date: 28 Jul 92 16:22:00 GMT

    The source to the Oberon compilers is not publicly available however, you
    can license the front end and/or the back end for the Oberon-2 compiler
    from ETH for 1000 Swiss Francs.  The license agreement does prohibits you
    from redistributing the source, but you are free to do whatever you want
    with any derivative product, provided you give ETH credit for the original
    compiler source.

    You are also required to make ETH aware of your product, and provide the
    product to them should they ask.  It does not state if it needs to be
    source or executable code, however.

    It is a pretty loose agreement, but not so loose to hinder ETH.  1000 SFr
    is about 757 dollars, as of last month.


8) Where can I find interesting libraries and sources?

Amiga Sources:

    From: htgoebel@cip.informatik.uni-erlangen.de (hartmut Goebel)
    
    At ftp.uni-paderborn.de in /amiga/amok you can get all the disks from the
    AMOK series via anonymous ftp.  Please download only 18.00 - 8.00 h
    (MET), cause the transmitt rate is low. Perhaps someone call move the
    disks to overseas, too.

    On this series there are several modules both for Oberon and modula2 and
    executable programms (most with source).  While the Programms almost run
    only on the Amiga, the modules may be interesting for other systems, too.

    There are modules for many diverent usages, not only generic.

MAS Modula-2 Algebra System

    From: kredel@unipas.fmi.uni-passau.de (Heinz Kredel)

    MAS is an experimental computer algebra system combining imperative
    programming facilities with algebraic specification capabilities for
    design and study of algebraic algorithms.  MAS views mathematics in the
    sense of universal algebra and model theory and is in some parts
    influenced by category theory.

    MAS (0.3x and 06.x) is available on electronic networks (internet) via
    anonymous ftp from:  alice.fmi.uni-passau.de = 123.231.10.1

Repertoire and other software component libraries
    PMI
    P.O. Box 8402                 3279 N. Nicolet Drive
    Green Bay, WI 54308-8402      Green Bay, WI 54311
    U.S.A.


9) Some Popular FTP sites:

    neptune.inf.ethz.ch
    gatekeeper.dec.com
    ftp.psg.com
    titania.mathematik.uni-ulm.de

FidoNet's Modula-2/Oberon Archive

    1:105/6 has a lot of source, compilers, examples, ...  +1 (503) 297-9145

    Also has an archive of old c.l.m2 and MODULA-2.

-- 
randy@psg.com   ...!uunet!m2xenix!randy
Newsgroups: comp.lang.modula2
From: tchannon@black.demon.co.uk (Tim Channon)