aboutsummaryrefslogtreecommitdiffstats
path: root/lang/modula-3/pkg-descr
blob: e4081fa85f4a297e797ead1d4d44c439f83be56a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
This is a port of Modula-3 release 3.6, from DEC Systems Research
Center.  Modula-3 is a modern compiled programming language designed
for systems programming as well as large applications.  Some notable
features include:

    * A clean type system with good support for object-oriented
      programming.
    * A powerful module system.
    * Lightweight threads, fully integrated into the language and all of
      the libraries.
    * Generics.
    * Exceptions.
    * Automatic storage management by a multithreaded, incremental,
      generational garbage collector.
    * Guaranteed type safety, plus the ability to confine unsafe code
      behind safe interfaces.
    * Elegance and simplicity, even compared with less powerful
      languages such as C++ and Ada.
    * Ease of integration with existing C libraries.
    * A huge collection of runtime libraries, providing:
    - Text manipulation.
    - Generic containers (lists, sequences, tables, etc.).
    - Atoms and symbolic expressions.
    - An extensible stream I/O system.
    - Persistent objects.
    - Operating system interfaces.
    - Networking.
    - Very nice object-oriented graphics facilities, and some
      convenient tools for building GUIs.
    * A convenient browser.

A wealth of information about Modula-3 can be found at:

    http://www.research.digital.com/SRC/modula-3/html/home.html

This port includes patches for a number of bugs found since the
release of DEC SRC's version 3.6.  To save space and time, only
the most commonly-used subset of the DEC distribution is built and
installed by this port.  That includes the compiler, the standard
libraries, and the graphics packages, but not the (huge) separate
projects such as netobj, zeus, obliq, and visual obliq.  Specifically,
the following packages are included:

    X11R4             m3browser         mtex              showthread
    coverage          m3build           parseparams       src
    digraph           m3bundle          pp                table-list
    formsedit         m3core            quake             tcp
    formsvbt          m3front           realgeometry      tcpextras
    formsvbtpixmaps   m3linker          recordheap        tempfiles
    images            m3middle          replayheap        ui
    jvideo            m3tohtml          set               vbtkit
    libm3             m3tools           showheap          videovbt
    m3                m3totex           shownew           web

To reduce download times, this port uses custom distfiles containing
only the packages listed above.  Also, I have updated the code
generator so that it is based on gcc-2.7.2.1.  If the gcc sources
are found on the system, the port will use the system sources
instead of downloading them.  Altogether, these changes reduce the
size of the necessary distfiles from about 16 MB down to 2.7-4.5
MB, depending on what is already installed on the system.

If desired, the packages not included here can be built directly
from the DEC distribution, in:

    ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.6/m3.tar.gz

John Polstra <jdp@polstra.com>