Jump to content

Modula-3: Difference between revisions

From EDM2
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+. There is also an obscure variant called simply '''Modula-3*''' that adds strong parallel processing features to the language.


;Obliq
;Obliq
Line 33: Line 33:
* Luca Cardelli and Rowan Davis: [http://lucacardelli.name/Papers/ServiceCombinators.US.pdf Service Combinators for Web Computing] - In PDF format - 1997/9 - Obliq related.
* Luca Cardelli and Rowan Davis: [http://lucacardelli.name/Papers/ServiceCombinators.US.pdf Service Combinators for Web Computing] - In PDF format - 1997/9 - Obliq related.


====Tutorials and other learning material====
;Modula-3*
*
* Ernst A. Heinz: [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=381BE5E5C881A2E8084981EB54C3B025?doi=10.1.1.55.1978&rep=rep1&type=pdf MODULA-3*: An Efficiently compilable extension of Modula-3 for problem-oriented explicitly parallel programming]


==Links==
==Links==

Revision as of 12:24, 12 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+. There is also an obscure variant called simply Modula-3* that adds strong parallel processing features to the language.

Obliq

Obliq is an interpreted domain specific programming language that is shipped with later versions of the Modula-3 System. It is intended to be used to program web "agents" (in a much wider understanding than agents are used in normal computer speak), in other words a utility programming language for the web rather than a scripting language of any sort and is in this reminiscent of WebL (Oberon variant).

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

Publications

Obliq
Modula-3*

Links

USENET

Standards