Jump to content

Modula-3: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 2: Line 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.
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
See also: [[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).


==OS/2 Implementations==
==OS/2 Implementations==
* [[SRC Modula 3]] - Open source - Discontinued
* [[SRC Modula 3]] - Open source
* Modula 3 Reboot - Open source - Current?
* Modula 3 Reboot - Open source


==Text editors with Modula 3 support==
==Text editors with Modula 3 support==
* [[jEdit]] - Java based editor - Modula 3 syntax highlighting built in - Current.
* [[jEdit]] - Java based editor - Modula 3 syntax highlighting built in


==DOS Implementations==
==DOS Implementations==
*[[SRC Modula 3]] - Open source - Discontinued
*[[SRC Modula 3]] - Open source
*M3PC-Klagenfurt - Open source - Discontinued
*M3PC-Klagenfurt - Open source


==Publications==
==Publications==
Line 28: Line 27:
;Introductory material
;Introductory material
* Swaminathan Sankararaman and Bojan Durickovic: [http://pub.bojand.org/modula3.pdf Modula-3 - CS 520 Final Report] - 2008
* Swaminathan Sankararaman and Bojan Durickovic: [http://pub.bojand.org/modula3.pdf Modula-3 - CS 520 Final Report] - 2008
;Obliq
* Luca Cardelli: [http://lucacardelli.name/Papers/ObliqPaper.A4.pdf Obliq - A language with distributed scope] - 1994
* Luca Cardelli: [http://lucacardelli.name/Papers/Obliq.A4.pdf A Language with Distributed Scope] - 1995
* Luca Cardelli and Krishna A. Bharat: [http://lucacardelli.name/Papers/DistributedApps.A4.pdf Distributed Applications in a Hypermedia Setting] - 1995
* Luca Cardelli: [http://lucacardelli.name/Papers/GlobalComputation.A4.pdf Global Computation] - 1996
* Luca Cardelli: [http://lucacardelli.name/Papers/MobileComputationPosition.pdf Mobile Computation (Position Paper)] - 1995 - Obliq related
* Luca Cardelli and Krishna A. Bharat: [http://lucacardelli.name/Papers/Migration.A4.pdf Migratory Applications] - 1997
* Luca Cardelli and Rowan Davis: [http://lucacardelli.name/Papers/ServiceCombinators.US.pdf Service Combinators for Web Computing] - 1997/9 - Obliq related.


;Modula-3*
;Modula-3*

Revision as of 00:27, 30 April 2019

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.

See also: Obliq

OS/2 Implementations

Text editors with Modula 3 support

  • jEdit - Java based editor - Modula 3 syntax highlighting built in

DOS Implementations

Publications

Introductory material
Modula-3*

Links

Standards