Modula-3: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Image:M3.png|200px|right]] | [[Image:M3.png|200px|right]] | ||
One of the few languages out there designed as a systems language from the outset. Originally developed by [[Acorn]] USA an operating system development tool and then called Modula-2+, it added multitasking, threading and multi programming features to the [[Modula-2]] programming language, but M2 itself is a development of [[Pascal]] by its original author and adds separately compiled modules, stricter & clearer syntax and a host of system programming additions to Pascal in addition to a general clean up of the language features. Modula 3 is a development that adds memory management (garbage collection), type & generic safety features, generic programming, better exception handling and object-oriented extensions to Modula-2+. | One of the few languages out there designed as a systems language from the outset. Originally developed by [[Acorn]] USA an operating system development tool and then called Modula-2+, it added multitasking, threading and multi programming features to the [[Modula-2]] programming language, but M2 itself is a development of [[Pascal]] by its original author and adds separately compiled modules, stricter & clearer syntax and a host of system programming additions to Pascal in addition to a general clean up of the language features. Modula 3 is a development that adds memory management (garbage collection), type & generic safety features, generic programming, better exception handling and object-oriented extensions to Modula-2+. | ||
;Obliq | |||
Obliq is a domain specific programming language that is shipped with later versions of the Modula-3 System. | |||
==A list of OS/2 implementations of Modula-3== | ==A list of OS/2 implementations of Modula-3== | ||
Line 16: | Line 19: | ||
* Joseph Bergin: [http://csis.pace.edu/~bergin/M3text Object-Oriented Data Abstraction in Modula-3] - 1997 | * Joseph Bergin: [http://csis.pace.edu/~bergin/M3text Object-Oriented Data Abstraction in Modula-3] - 1997 | ||
* Michel R. Dagenais: [http://www.professeurs.polymtl.ca/michel.dagenais/pkg/BDAM3alpha.ps Building Distributed OO Applications: Modula-3 Objects at Work - Draft Version] - 1997 | * Michel R. Dagenais: [http://www.professeurs.polymtl.ca/michel.dagenais/pkg/BDAM3alpha.ps Building Distributed OO Applications: Modula-3 Objects at Work - Draft Version] - 1997 | ||
* Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow and Greg Nelson: [http://lucacardelli.name/Papers/Modula3TypeSystem.A4.pdf The Modula-3 Type System] - In PDF format | |||
* Luca Cardelli: [http://lucacardelli.name/Papers/SRC-045.pdf Typeful Programming] - In PDF format | |||
* Luca Cardelli, James Donahue, Lucielle Glassman, Mick Jordan, Bill Kalsow and Greg Nelson: [http://lucacardelli.name/Papers/SRC-052.pdf The Modula-3 Report (Revised)] - In PDF format - 1989 | |||
;Obliq | |||
* Luca Cardelli: [http://lucacardelli.name/Papers/ObliqPaper.A4.pdf Obliq - A language with distributed scope] - In PDF format - 1994 | |||
====Tutorials and other learning material==== | ====Tutorials and other learning material==== |
Revision as of 01:57, 3 March 2016

One of the few languages out there designed as a systems language from the outset. Originally developed by Acorn USA an operating system development tool and then called Modula-2+, it added multitasking, threading and multi programming features to the Modula-2 programming language, but M2 itself is a development of Pascal by its original author and adds separately compiled modules, stricter & clearer syntax and a host of system programming additions to Pascal in addition to a general clean up of the language features. Modula 3 is a development that adds memory management (garbage collection), type & generic safety features, generic programming, better exception handling and object-oriented extensions to Modula-2+.
- Obliq
Obliq is a domain specific programming language that is shipped with later versions of the Modula-3 System.
A list of OS/2 implementations of Modula-3
- SRC Modula 3 - Open source - Discontinued
- Modula 3 Reboot - Open source - Current?
OS/2 text editors with Modula 3 support
- jEdit - Java based editor - Modula 3 syntax highlighting built in - Current.
A list of DOS implementations of Modula-3
- SRC Modula 3 - Open source - Discontinued
- M3PC-Klagenfurt - Open source - Discontinued
Publications
- Joseph Bergin: Object-Oriented Data Abstraction in Modula-3 - 1997
- Michel R. Dagenais: Building Distributed OO Applications: Modula-3 Objects at Work - Draft Version - 1997
- Luca Cardelli, Jim Donahue, Mick Jordan, Bill Kalsow and Greg Nelson: The Modula-3 Type System - In PDF format
- Luca Cardelli: Typeful Programming - In PDF format
- Luca Cardelli, James Donahue, Lucielle Glassman, Mick Jordan, Bill Kalsow and Greg Nelson: The Modula-3 Report (Revised) - In PDF format - 1989
- Obliq
- Luca Cardelli: Obliq - A language with distributed scope - In PDF format - 1994
Tutorials and other learning material
Links
- Modula-3 Org - Info and links on the Modula 3 language.
USENET
- comp.lang.modula3 - Very low volume - Go to the Google groups version if you or your ISP are newsgroup challenged in some way.
Standards
- The revised version of the original Modula-3 report and the associated paper below
- Some useful Modula-3 interfaces.