# What is SRC Modula-3?

SRC-Modula-3 was built by the DEC Systems Research Center and is freely available and redistributable, with source code. In Europe it is also available from ftp-i3.informatik.rwth-aachen.de in pub/Modula-3. The most recent version is release 3.6

The DEC SRC Modula-3 contains the following:

- A native code compiler: uses the GCC backend; on machines/operating systems that have self-describing stacks, an optimized exception handling mechanism is provided, on other architectures, setjmp/longjmp is used. A very fast integrated backend is available on some platforms (currently NT386 and Linux i386).

  The compilation system provides for minimal recompilation. Only those units that depend on the modified interface item will be recompiled.

- m3build: tool that performs dependency analysis and builds the Modula-3 programs and libraries.
- m3gdb: a Modula-3 aware version of GDB.
- Several tools for performance and coverage analysis.
- A large standard library (libm3) providing

  - A multithread, incremental, generational, conservative garbage collector
  - Text manipulation.
  - Generic Containers: Lists, Sequences, Tables, SortedLists, SortedTables
  - Atoms and Symbolic expressions (Lisp like lists)
  - An extensible stream IO system
  - Typesafe binary object transcription (persistent objects)
  - Operating system interfaces
  - Portable interfaces to the language runtime

  All standard libraries are thread-friendly. Modula-3 can readily link with existing C libraries; many libraries including X11R4 and various UNIX libraries are available as part of libm3.

- Several other libraries for designing graphical user interfaces and distributed applications.