Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ALGOL 68
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Implementations=== ====ALGOL 68-R==== The first implementation of the standard, based on the late-1968 draft Report, was introduced by the [[Royal Radar Establishment]] in the UK as [[ALGOL 68-R]] in July 1970. This was, however, a subset of the full language, and [[Barry Mailloux]], the final editor of the Report, joked that "It is a question of morality. We have a Bible and you are sinning!"<ref name="implement">{{citation |editor-first=J. E. L. |editor-last=Peck |date=1970 |title=Proceedings of the IFIP working conference on ALGOL 68 Implementation |publisher=North-Holland |place=Munich |isbn=0-7204-2045-8}}</ref> This version nevertheless became very popular on the [[International Computers Limited|ICL]] machines, and became a widely-used language in military coding, especially in the UK.<ref name=shorter>{{cite web |first=C. H. A. |last=Koster |title=A Shorter History of Algol 68 |archive-url=https://web.archive.org/web/20071217203826/http://npt.cc.rsu.ru/user/wanderer/ODP/ALGOL68.txt |url=http://npt.cc.rsu.ru/user/wanderer/ODP/ALGOL68.txt |archive-date=2007-12-17}}</ref> Among the changes in 68-R was the requirement for all variables to be declared before their first use. This had a significant advantage that it allowed the compiler to be one-pass, as space for the variables in the [[activation record]] was set aside before it was used. However, this change also had the side-effect of demanding the '''PROC'''s be declared twice, once as a declaration of the types, and then again as the body of code. Another change was to eliminate the assumed '''VOID''' mode, an expression that returns no value (named a ''statement'' in other languages) and demanding the word '''VOID''' be added where it would have been assumed. Further, 68-R eliminated the explicit [[Parallel computing|parallel processing]] commands based on '''PAR'''.<ref name=implement/> ====Others==== The first full implementation of the language was introduced in 1974 by CDC Netherlands for the [[Control Data]] mainframe series. This saw limited use, mostly teaching in Germany and the Netherlands.<ref name="shorter"/> A version similar to 68-R was introduced from [[Carnegie Mellon University]] in 1976 as 68S, and was again a one-pass compiler based on various simplifications of the original and intended for use on smaller machines like the [[DEC PDP-11]]. It too was used mostly for teaching purposes.<ref name="shorter"/> A version for [[IBM]] mainframes did not become available until 1978, when one was released from [[Cambridge University]]. This was "nearly complete". Lindsey released a version for small machines including the [[IBM PC]] in 1984.<ref name="shorter"/> Three open source Algol 68 implementations are known:<ref>{{cite web |last1=van der Veer |first1=Marcel |title=Open source Algol 68 implementations |url=http://algol68.sourceforge.net/ |website=algol68.sourceforge.net}}</ref> * '''a68g''', [[GPLv3]], written by Marcel van der Veer. * '''algol68toc''', an [[open-source software]] port of [[ALGOL 68RS]]. * experimental Algol68 frontend for [[GNU Compiler Collection|GCC]], written by Jose E. Marchesi.<ref name=":0">{{cite web |last1=E. Marchesi |first1=Jose |title= Algol 68 Front-End |url=https://gcc.gnu.org/wiki/Algol68FrontEnd |website=gcc.gnu.org}}</ref><ref name=":1">{{cite web |last1=E. Marchesi |first1=Jose |title= An Algol 68 front end for GCC |url=https://lwn.net/Articles/1003916/ |website=lwn.net}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)