ALGOL 68
proc: ProceduresProcedure (PROC) declarations require type specifications for both the parameters and the result (VOID if none): PROC max of real = (REAL a, b) REAL: IF a > b THEN a ELSE b FI; or, using the "brief" form of the conditional statement: PROC max of real = (REAL a, b) REAL: (a>b | a | b); The return value of a PROC apply = (REF [] REAL a, PROC (REAL) REAL f): FOR i FROM LWB a TO UPB a DO a[i] := f(a[i]) OD This simplicity of code was unachievable in ALGOL 68's predecessor ALGOL 60. op: OperatorsThe programmer may define new operators and both those and the pre-defined ones may be overloaded and their priorities may be changed by the coder. The following example defines operator PRIO MAX = 9; OP MAX = (INT a,b) INT: ( a>b | a | b ); OP MAX = (REAL a,b) REAL: ( a>b | a | b ); OP MAX = (COMPL a,b) COMPL: ( ABS a > ABS b | a | b ); OP MAX = ([]REAL a) REAL: (REAL out := a[LWB a]; FOR i FROM LWB a + 1 TO UPB a DO ( a[i]>out | out:=a[i] ) OD; out) Array, Procedure, Dereference and coercion operations
These are technically not operators, rather they are considered "units associated with names" Monadic operators
Dyadic operators with associated priorities
Specific details:
Assignation and identity relations, etc.These are technically not operators, rather they are considered "units associated with names"
Note: Quaternaries include names SKIP and ~.
Why |
Representation | Code |
---|---|
Algol68 "strict" as typically published |
¢ underline or bold typeface ¢ MODE XINT = INT; XINT sum sq:=0; FOR i WHILE sum sq≠70×70 DO sum sq+:=i↑2 OD |
Quote stropping (like wikitext) |
'pr' quote 'pr'
'mode' 'xint' = 'int';
'xint' sum sq:=0;
'for' i 'while'
sum sq≠70×70
'do'
sum sq+:=i↑2
'od'
|
For a 7-bit character code compiler | .PR UPPER .PR
MODE XINT = INT;
XINT sum sq:=0;
FOR i WHILE
sum sq/=70*70
DO
sum sq+:=i**2
OD
|
For a 6-bit character code compiler | .PR POINT .PR
.MODE .XINT = .INT;
.XINT SUM SQ:=0;
.FOR I .WHILE
SUM SQ .NE 70*70
.DO
SUM SQ .PLUSAB I .UP 2
.OD
|
Algol68 using RES stropping (reserved word) |
.PR RES .PR
mode .xint = int;
.xint sum sq:=0;
for i while
sum sq≠70×70
do
sum sq+:=i↑2
od
|
ALGOL 68 allows for every natural language to define its own set of keywords Algol-68. As a result, programmers are able to write programs using keywords from their native language. Below is an example of a simple procedure that calculates "the day following", the code is in two languages: English and German.[citation needed]
# Next day date - English variant # MODE DATE = STRUCT(INT day, STRING month, INT year); PROC the day following = (DATE x) DATE: IF day OF x < length of month (month OF x, year OF x) THEN (day OF x + 1, month OF x, year OF x) ELIF month OF x = "December" THEN (1, "January", year OF x + 1) ELSE (1, successor of month (month OF x), year OF x) FI;
# Nachfolgetag - Deutsche Variante # MENGE DATUM = TUPEL(GANZ tag, WORT monat, GANZ jahr); FUNKTION naechster tag nach = (DATUM x) DATUM: WENN tag VON x < monatslaenge(monat VON x, jahr VON x) DANN (tag VON x + 1, monat VON x, jahr VON x) WENNABER monat VON x = "Dezember" DANN (1, "Januar", jahr VON x + 1) ANSONSTEN (1, nachfolgemonat(monat VON x), jahr VON x) ENDEWENN;
Russian/Soviet example: In English Algol68's case statement reads CASE ~ IN ~ OUT ~ ESAC, in Cyrillic this reads выб ~ в ~ либо ~ быв.
Revisions
Except where noted (with a superscript), the language described above is that of the "Revised Report(r1)".
The language of the unrevised report
The original language (As per the "Final Report"r0) differs in syntax of the mode cast, and it had the feature of proceduring, i.e. coercing the value of a term into a procedure which evaluates the term. Proceduring would be intended to make evaluations lazy. The most useful application could have been the short-circuited evaluation of boolean operators. In:
OP ANDF = (BOOL a,PROC BOOL b)BOOL:(a | b | FALSE); OP ORF = (BOOL a,PROC BOOL b)BOOL:(a | TRUE | b);
b is only evaluated if a is true.
As defined in ALGOL 68, it did not work as expected, for example in the code:
IF FALSE ANDF CO proc bool: CO ( print ("Should not be executed"); TRUE) THEN ...
against the programmers naïve expectations the print would be executed as it is only the value of the elaborated enclosed-clause after ANDF that was procedured. Textual insertion of the commented-out PROC BOOL: makes it work.
Some implementations emulate the expected behaviour for this special case by extension of the language.
Before revision, the programmer could decide to have the arguments of a procedure evaluated serially instead of collaterally by using semicolons instead of commas (gommas).
For example in:
PROC test = (REAL a; REAL b) :... ... test (x PLUS 1, x);
The first argument to test is guaranteed to be evaluated before the second, but in the usual:
PROC test = (REAL a, b) :... ... test (x PLUS 1, x);
then the compiler could evaluate the arguments in whatever order it felt like.
Extension proposals from IFIP WG 2.1
After the revision of the report, some extensions to the language have been proposed to widen the applicability:
- partial parametrisation (aka Currying): creation of functions (with fewer parameters) by specification of some, but not all parameters for a call, e.g. a function logarithm of two parameters, base and argument, could be specialised to natural, binary or decadic log,[58]
- module extension: for support of external linkage, two mechanisms were proposed, bottom-up definition modules, a more powerful version of the facilities from ALGOL 68-R and top-down holes, similar to the
ENVIRON
andUSING
clauses from ALGOL 68C[59] - mode parameters: for implementation of limited parametrical polymorphism (most operations on data structures like lists, trees or other data containers can be specified without touching the pay load).[60]
So far, only partial parametrisation has been implemented, in Algol 68 Genie.
True ALGOL 68s specification and implementation timeline
Name | Year | Purpose | State | Description | Target CPU | Licensing | Implementation language |
---|---|---|---|---|---|---|---|
Generalized ALGOL | 1962 | Scientific | NLD | ALGOL for generalised grammars | |||
ALGOL YY | 1966 | Draft proposal | Intl | First version of Algol 68 | Specification | ACM | |
ALGOL 68DR | 1968 | Draft proposal | Intl | IFIP WG 2.1 Draft Report | Specification – March | ACM | |
ALGOL 68r0 | 1968 | Standard | Intl | IFIP WG 2.1 Final Report | Specification – August | ACM | |
ALGOL 68-RR | 1970 | Military | UK | ICL 1900 | ALGOL 60 | ||
EPOS ALGOLE | 1971 | Scientific | |||||
ALGOL 68RSRS | 1972 | Military | UK | Portable compiler system | ICL 2900/Series 39, Multics, VMS & C generator (1993) | Crown Copyright | ALGOL 68RS |
Algol 68 with areas | 1972 | Experimental & other | UK | Addition of areas to Algol 68 | |||
Mini ALGOL 68 | 1973 | Research | NLD | "An interpreter for simple Algol 68 Programs" Archived 2011-07-18 at the Wayback Machine | Portable interpreter | Mathematisch Centrum | ALGOL 60 |
OREGANO | 1973 | Research | US | "The importance of implementation models." | UCLA | ||
ALGOL 68CC | 1975 | Scientific | UK | Cambridge Algol 68 | ICL, IBM 360, PDP 10 & Unix, Telefunken, Tesla & Z80 (1980)[61] | Cambridge | ALGOL 68C |
ALGOL 68 Revised Reportr1 | 1975 | Standard | Intl | IFIP WG 2.1 Revised Report | Specification | ACM | |
Algol HH | 1975 | Experimental & other | UK | Proposed extensions to the mode system of Algol 68 | Specification | ALGOL W | |
Odra Algol 68 | 1976 | practical uses | Soviet Union/ Poland | Odra 1204/IL | Soviet | ALGOL 60 | |
Oklahoma ALGOL 68 | 1976 | programming instruction | USA | Oklahoma State University implementation[62] | IBM 1130 and System/370/158 | Unknown | ANSI Fortran 66. |
Berlin ALGOL 68 | 1977 | Research | DE | "The Berlin ALGOL 68 implementation" &[63] | An Abstract ALGOL 68 Machine – machine independent Compiler | Technische Universität Berlin | CDL 2 |
FLACCF | 1977 | Multi-purpose | CAN | Revised Report complete implementation with debug features | System/370 | lease, Chion Corporation | Assembler |
ALGOL 68-RTRT | 1979 | Scientific | UK | Parallel ALGOL 68-R | |||
RS Algolrs | 1979 | Scientific | UK | ||||
ALGOL 68+ | 1980 | Scientific | NLD | Proposed superlanguage of ALGOL 68[64] | |||
M-220 ALGOL 68 | Soviet Union | M-220 | Soviet | EPSILON | |||
Leningrad ALGOL 68L | 1980 | Telecommunications | Soviet Union | Full language + modules | IBM, DEC, CAMCOH, PS 1001 & PC | Soviet | |
Interactive ALGOL 68I | 1983 | UK | Incremental compilation | PC | Noncommercial shareware | ||
ALGOL 68SS | 1985 | Scientific | Intl | Sun version of ALGOL 68 | Sun-3, Sun SPARC (under SunOS 4.1 & Solaris 2), Atari ST (under GEMDOS), Acorn Archimedes (under RISC OS), VAX-11 under Ultrix-32 | ||
Algol68toC[65] (ctrans) | 1985 | Electronics | UK | ctrans from ELLA ALGOL 68RS | Portable C generator | Open-source software 1995 | ALGOL 68RS |
MK2 Interactive ALGOL 68 | 1992 | UK | Incremental compilation | PC | Noncommercial shareware[66] | ||
Algol 68 GenieG | 2001 | Full language | NLD | Includes standard collateral clause | Portable interpreter | GNU GPL | C |
Algol 68 Genie version 2.0.0 | 2010 | Full language | NLD | Portable interpreter; optional compilation of selected units | GNU GPL | C |
The S3 language that was used to write the ICL VME operating system and much other system software on the ICL 2900 Series was a direct derivative of Algol 68. However, it omitted many of the more complex features, and replaced the basic modes with a set of data types that mapped directly to the 2900 Series hardware architecture.
Implementation specific extensions
ALGOL 68R from RRE was the first ALGOL 68 subset implementation, running on the ICL 1900. Based on the original language, the main subset restrictions were definition before use and no parallel processing. This compiler was popular in UK universities in the 1970s, where many computer science students learnt ALGOL 68 as their first programming language; the compiler was renowned for good error messages.
ALGOL 68RS(RS) from RSRE was a portable compiler system written in ALGOL 68RS (bootstrapped from ALGOL 68R), and implemented on a variety of systems including the ICL 2900/Series 39, Multics and DEC VAX/VMS. The language was based on the Revised Report, but with similar subset restrictions to ALGOL 68R. This compiler survives in the form of an Algol68-to-C compiler.
In ALGOL 68S(S) from Carnegie Mellon University the power of parallel processing was improved by adding an orthogonal extension, eventing. Any variable declaration containing keyword EVENT made assignments to this variable eligible for parallel evaluation, i.e. the right hand side was made into a procedure which was moved to one of the processors of the C.mmp multiprocessor system. Accesses to such variables were delayed after termination of the assignment.
Cambridge ALGOL 68C(C) was a portable compiler that implemented a subset of ALGOL 68, restricting operator definitions and omitting garbage collection, flexible rows and formatted transput.
Algol 68 Genie(G) by M. van der Veer is an ALGOL 68 implementation for today's computers and operating systems.
"Despite good intentions, a programmer may violate portability by inadvertently employing a local extension. To guard against this, each implementation should provide a PORTCHECK pragmat option. While this option is in force, the compiler prints a message for each construct that it recognizes as violating some portability constraint."[67]
Quotes
- ... The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of. The central notion I captured from Algol was a type structure based on atomic types (including structures), composed into arrays, pointers (references), and functions (procedures). Algol 68's concept of unions and casts also had an influence that appeared later. Dennis Ritchie Apr 1993.[2]
- ... C does not descend from Algol 68 is true, yet there was influence, much of it so subtle that it is hard to recover even when I think hard. In particular, the union type (a late addition to C) does owe to A68, not in any details, but in the idea of having such a type at all. More deeply, the type structure in general and even, in some strange way, the declaration syntax (the type-constructor part) was inspired by A68. And yes, of course, "long". Dennis Ritchie, 18 June 1988[4]
- "Congratulations, your Master has done it" – Niklaus Wirth[68]
- The more I see of it, the more unhappy I become – E. W. Dijkstra, 1968[69]
- [...] it was said that A68's popularity was inversely proportional to [...] the distance from Amsterdam – Guido van Rossum[70]
- [...] The best we could do was to send with it a minority report, stating our considered view that, "... as a tool for the reliable creation of sophisticated programs, the language was a failure." [...] – C. A. R. Hoare in his Oct 1980 Turing Award Lecture[71]
- "[...] More than ever it will be required from an adequate programming tool that it assists, by structure, the programmer in the most difficult aspects of his job, viz. in the reliable creation of sophisticated programs. In this respect we fail to see how the language proposed here is a significant step forward: on the contrary, we feel that its implicit view of the programmer's task is very much the same as, say, ten years ago. This forces upon us the conclusion that, regarded as a programming tool, the language must be regarded as obsolete. [...]" 1968 Working Group minority report on 23 December 1968.[72]
See also
References
Citations
- ^ van Wijngaarden, Adriaan; Mailloux, Barry James; Peck, John Edward Lancelot; Koster, Cornelis Hermanus Antonius; Sintzoff, Michel [in French]; Lindsey, Charles Hodgson; Meertens, Lambert Guillaume Louis Théodore; Fisker, Richard G., eds. (1976). Revised Report on the Algorithmic Language ALGOL 68 (PDF). Springer-Verlag. ISBN 978-0-387-07592-1. OCLC 1991170. Archived (PDF) from the original on 2019-04-19. Retrieved 2019-05-11.
- ^ a b Dennis Ritchie (April 1993). "The Development of the C Language" (PDF). Archived from the original (PDF) on 2005-11-06. Retrieved 2007-04-26.
- ^ Influence on C: types, structures, arrays, pointers and procedures – Dennis Ritchie[2]
- ^ a b Dennis Ritchie (June 1988). "C and Algol 68". Retrieved 2006-09-15.
- ^ Influence on C: union, structure, syntax and long precision – Dennis Ritchie[4]
- ^ "A History of C++: 1979−1991" (PDF). March 1993. Page 12, 2nd paragraph: Algol68 [gave] operator overloading(§3.3.3), references (§3.3.4), and the ability to declare variables anywhere in a block (§3.3.1). Retrieved 2008-05-06.
- ^ "Interview with Guido van Rossum". July 1998. Archived from the original on 2007-05-01. Retrieved 2007-04-29.
- ^ "A Shorter History of ALGOL 68". Archived from the original on 2006-08-10. Retrieved 2006-09-15.
- ^ Veer, Marcel van der (2023-04-05). "Revised Report on the Algorithmic Language Algol 68". jmvdveer.home.xs4all.nl/. Archived from the original on 2013-03-17.
- ^ Veer, Marcel van der (2023-04-05). "Revised Report on the Algorithmic Language Algol 68". jmvdveer.home.xs4all.nl/. Archived from the original on 2013-03-17.
- ^ Veer, Marcel van der (2023-04-05). "Revised Report on the Algorithmic Language Algol 68". jmvdveer.home.xs4all.nl/. Archived from the original on 2013-03-17.
- ^ Veer, Marcel van der (2023-04-05). "Revised Report on the Algorithmic Language Algol 68". jmvdveer.home.xs4all.nl/. Archived from the original on 2013-03-17.
- ^ "Gommas?".
- ^ Revised Report on the Algorithmic Language Algol 68 Archived 2013-03-17 at the Wayback Machine. jmvdveer.home.xs4all.nl (1968-12-20). Retrieved on 2013-07-21.
- ^ Terekhov, Andrey (2014). "ALGOL 68 and Its Impact on the USSR and Russian Programming". 2014 Third International Conference on Computer Technology in Russia and in the Former Soviet Union. pp. 97–106. doi:10.1109/SoRuCom.2014.29. ISBN 978-1-4799-1799-0. S2CID 16097093.
- ^ http://toc.proceedings.com/25445webtoc.pdf "Алгол 68 и его влияние на программирование в СССР и России" – pages: 336 & 342
- ^ Lindsey 1996.
- ^ a b
Lindsey, Charles H. (1996). Bergin, T. J.; Gibson, R. G. (eds.). A history of ALGOL 68. History of Programming Languages-II. Vol. 28. also in ACM SIGPLAN Notices 28(3), March 1993 (includes a comprehensive bibliography of the meetings and discussions before, during and after development of ALGOL 68). ACM Press. pp. 97–132. doi:10.1145/155360.155365. ISBN 978-0-201-89502-5.
{{cite book}}
:|journal=
ignored (help) - ^ Programming Algol 68 Made Easy
- ^ Veer, Marcel van der. "Marcel van der Veer - Algol 68 Genie". jmvdveer.home.xs4all.nl/.
- ^ Lindsey 1993, p. 7.
- ^ a b c d Lindsey 1993, p. 9.
- ^ Lindsey 1993, p. 24.
- ^ a b Lindsey 1993, p. 10.
- ^ "The Algol Bulletin".
- ^ a b Lindsey 1993, p. 12.
- ^ Lindsey, C. H. (1972). "ALGOL 68 with fewer tears" (PDF). The Computer Journal. 15 (1): 176–188. doi:10.1093/comjnl/15.2.176.
- ^ Lindsey 1993, p. 13.
- ^ Lindsey 1993, p. 15.
- ^ Hoare, C. a. R. (November 1968). "Critique of ALGOL 68". ALGOL Bulletin. 29: 27–29.
- ^ a b Peck, J. E. L., ed. (1970), Proceedings of the IFIP working conference on ALGOL 68 Implementation, Munich: North-Holland, ISBN 0-7204-2045-8
- ^ a b c d Koster, C. H. A. "A Shorter History of Algol 68". Archived from the original on 2007-12-17.
- ^ van der Veer, Marcel. "Open source Algol 68 implementations". algol68.sourceforge.net.
- ^ E. Marchesi, Jose. "Algol68 frontend for GCC". jemarch.net.
- ^ Van Wijngaarden, A.; Mailloux, B. J.; Peck, J.; Koster, C. H. A. (1968-03-01). "Draft Report on the Algorithmic Language ALGOL 68". ALGOL Bulletin (Sup 26): 1–84. Retrieved 2023-04-07 – via Mar. 1968.
- ^ Sidney Marshall, "ALGOL 68 Implementation", Proceedings of the IFIP Working Conference on ALGOL 68 Implementation, Munich, July 20–24, 1970, J. E. L. Peck, editor, North Holland, pages 239–243.
- ^ Sidney Marshall, On the implementation of ALGOL 68, PhD Thesis, Dartmouth College, 1972.
- ^ Algol 68 Revised Report
- ^ Black, A. P.; Rayward-Smith, V. J. (1978-05-01). "Proposals for ALGOL H - A Superlanguage of ALGOL 68". ALGOL Bulletin (42): 36–49. Retrieved 2023-04-07 – via May. 1978.
- ^ "Algol68 S(S) published on the internet". Archived from the original on 2005-12-03. Retrieved 2004-08-30.
- ^ Veer, Marcel van der. "Marcel van der Veer - Algol 68 Genie". jmvdveer.home.xs4all.nl/. Retrieved 2023-04-07.
- ^ "Draft Report on the Algorithmic Language ALGOL 68". March 1968. Archived from the original on 2007-09-30. Retrieved 2007-06-22.
- ^ "Penultimate Draft Report on the Algorithmic Language ALGOL 68 – Chapters 1-9" (PDF). October 1968. Retrieved 2007-06-22.[permanent dead link]
- ^ "Penultimate Draft Report on the Algorithmic Language ALGOL 68 – Chapters 10-12" (PDF). October 1968. Retrieved 2007-06-22.[permanent dead link]
- ^ "Report on the Algorithmic Language ALGOL 68" (PDF). December 1968. Archived from the original (PDF) on 2008-04-06. Retrieved 2007-12-30.
- ^ "Revised Report on the Algorithmic Language Algol 68". September 1973. Archived from the original on 2007-09-27. Retrieved 2007-04-30.
- ^ Lu Hu-quan (1971). "The Translation of Algol 68 into Chinese" (PDF). Peking, China: Institute of Mathematics, Academia Sinica. Retrieved 2012-08-17.
- ^ "GOST 27974-88 Programming language ALGOL 68 – Язык программирования АЛГОЛ 68" (PDF) (in Russian). GOST. 1988. Archived from the original (PDF) on 2008-11-15. Retrieved 2008-11-15.
- ^ "GOST 27975-88 Programming language ALGOL 68 extended – Язык программирования АЛГОЛ 68 расширенный" (PDF) (in Russian). GOST. 1988. Archived from the original (PDF) on 2011-04-29. Retrieved 2008-11-15.
- ^ "Format syntax in ALGOL 68G". Archived from the original on 2008-01-09. Retrieved 2023-04-07.
- ^ Needham, R. M.; Wilkes, M. V. (January 1979). "The Cambridge CAP Computer and its Operating System" (PDF). Microsoft Research.
- ^ David Holdsworth (Winter 2009–2010). "KDF9 Time Sharing: Eldon 2 is not EGDON!". Computer Resurrection – Number 49. Computer Conservation Society. Retrieved 2010-10-03.
- ^ I F Currie; J M Foster (September 1982). "RSRE Memorandum" (PDF). vitanuova.com. Retrieved 2023-04-07.
- ^ Эльбрус Бабаяна и Pentium Пентковского. Ixbt.com. Retrieved 21 July 2013.
- ^ Oliver, J. R.; Newton, R. S. (1979). "Practical experience with ALGOL 68-RT". The Computer Journal. 22 (2): 114–118. doi:10.1093/comjnl/22.2.114.
- ^ Applications, libraries, and test suites — Software Preservation Group. Softwarepreservation.org. Retrieved 21 July 2013.
- ^ Revised Report, page 123, footnote
- ^ Lindsey, C. H. (July 1974). "Partial Parametrization". ALGOL Bulletin (37): 24–26. Retrieved 2022-09-19.
- ^ Lindsey, C. H.; Boom, H. J. (December 1978). "A Modules and Separate Compilation facility for ALGOL 68". ALGOL Bulletin (43): 19–53. Retrieved 2020-01-29. Comments errata
- ^ Lindsey, C. H. (July 1974). "Modals". ALGOL Bulletin (37): 26–29. Retrieved 2022-09-19.
- ^ "Archived copy" (PDF). Archived from the original (PDF) on 2010-04-15. Retrieved 2010-03-20.
{{cite web}}
: CS1 maint: archived copy as title (link) - ^ http://htportal.acm.org/ft_gateway.cfm?id=803425&type=pdf[permanent dead link]
- ^ An abstract ALGOL 68 machine and its application in a machine independent compiler – Springer. Springerlink.com. Retrieved on 2013-07-21.
- ^ "The Encyclopedia of Computer Languages". Archived from the original on 2011-03-10. Retrieved 2010-03-20.
- ^ Open source Algol 68 implementations – Browse Files at. Sourceforge.net. Retrieved on 2013-07-21.
- ^ [1] Archived 2006-08-29 at the Wayback Machine
- ^ "Archived copy" (PDF). Archived from the original (PDF) on 2014-01-02. Retrieved 2005-08-27.
{{cite web}}
: CS1 maint: archived copy as title (link) - ^ C. H. A. Koster (1993). The Making of Algol 68. Lecture Notes in Computer Science. CiteSeerX 10.1.1.76.2072.
- ^ Dijkstra, E. W. "To the Editor ALGOL 68 Mathematische Centrum". Archived from the original on 2007-04-21. Retrieved 2007-04-28.
- ^ van Rossum, Guido (June 2005). "Python-Dev Wishlist: dowhile". Retrieved 2007-04-28.
- ^ Hoare, C. A. R. (February 1981) [based on his 1980 Turing Award lecture]. "The emperor's old clothes". Communications of the ACM. 24 (2): 75–83. doi:10.1145/358549.358561. S2CID 97895. Alt URL Archived 2017-10-02 at the Wayback Machine
- ^ "ALGOL Bulletin (referred to in AB30.1.1.1)". March 1970. Archived from the original on 2007-09-30. Retrieved 2007-03-01.
Works cited
- Brailsford, D. F. and Walker, A. N., Introductory ALGOL 68 Programming, Ellis Horwood/Wiley, 1979
- Lindsey, C. H. and van der Meulen, S. G., Informal Introduction to ALGOL 68, North-Holland, 1971
- Lindsey, C. H. (1993-03-02). "A History of ALGOL 68". ACM SIGPLAN Notices. 28 (3): 97–132. doi:10.1145/155360.155365.
- McGettrick, A. D., ALGOL 68, A First and Second Course, Cambridge Univ. Press, 1978
- Peck, J. E. L., An ALGOL 68 Companion, Univ. of British Columbia, October 1971
- Tanenbaum, A. S., A Tutorial on ALGOL 68, Computing Surveys 8, 155-190, June 1976 and 9, 255-256, September 1977, [7][permanent dead link]
- Woodward, P. M. and Bond, S. G., ALGOL 68-R Userssic Guide, London, Her Majesty's Stationery Office, 1972
External links
- Revised Report on the Algorithmic Language ALGOL 68 The official reference for users and implementors of the language (large pdf file, scanned from Algol Bulletin)
- Revised Report on the Algorithmic Language ALGOL 68 Hyperlinked HTML version of the Revised Report
- A Tutorial on Algol 68, by Andrew S. Tanenbaum, in Computing Surveys, Vol. 8, No. 2, June 1976, with Corrigenda (Vol. 9, No. 3, September 1977)
- Algol 68 Genie – a GNU GPL Algol 68 compiler-interpreter
- Open source ALGOL 68 implementations, on SourceForge
- Algol68 Standard Hardware representation (.pdf) Archived 2014-01-02 at the Wayback Machine
- Из истории создания компилятора с Алгол 68
- Algol 68 – 25 Years in the USSR
- Система программ динамической поддержки для транслятора с Алгол 68
- C history with Algol68 heritage
- McJones, Paul, "Algol 68 implementations and dialects", Software Preservation Group, Computer History Museum, 2011-07-05
- Web enabled ALGOL 68 compiler for small experiments
Read other articles:
British politician Pauline LathamOBE MPOfficial portrait, 2020Member of Parliamentfor Mid DerbyshireIncumbentAssumed office 6 May 2010Preceded byConstituency createdMajority15,385 (31.2%) Personal detailsBorn (1948-02-04) 4 February 1948 (age 75)Sleaford, Lincolnshire, EnglandPolitical partyConservativeSpouseDerek LathamWebsitepaulinelatham.co.uk Pauline Elizabeth Latham, OBE (born 4 February 1948)[1] is a British Conservative Party politician, who was elected at the 2010 gen...
هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2016) اضغط هنا للاطلاع على كيفية قراءة التصنيف بوشنرية المرتبة التصنيفية نوع التصنيف العلمي المملكة: بكتيريا الشعبة: بروتيوباكتريا الطائفة: متقلبات غاما الرت�...
Fahne der PFLP Die Volksfront zur Befreiung Palästinas (arabisch الجبهة الشعبية لتحرير فلسطين, DMG al-Ǧabha aš-šaʿbiyya li-taḥrīr Filasṭīn, englisch Popular Front for the Liberation of Palestine, allgemein als PFLP abgekürzt) ist eine dem linken Flügel des Panarabismus zuzurechnende, 1967 gegründete Palästinenserorganisation, die politisch, terroristisch und militärisch aktiv ist. Die EU und die USA führen die PFLP auf ihren Listen von Terrororgan...
Municipality in Troms og Finnmark, Norway Municipality in Troms og Finnmark, NorwaySør-Varanger Municipality Sør-Varanger kommuneMátta-Várjjaga gieldaEtelä-Varengin komuuniMunicipalitySørvaranger herred (historic name) FlagCoat of armsTroms og Finnmark within NorwaySør-Varanger within Troms og FinnmarkCoordinates: 69°43′43″N 30°02′30″E / 69.72861°N 30.04167°E / 69.72861; 30.04167CountryNorwayCountyTroms og FinnmarkDistrictØst-FinnmarkEsta...
Police helicopter attacks supreme court with grenades Caracas helicopter incidentPart of the Crisis in Venezuela, 2017 Venezuelan protests and 2017 Venezuelan constitutional crisisMoment of the attack on the Supreme Court of Justice buildingTSJInterior MinistryCaracas helicopter incident (Caracas)Show map of CaracasTSJInterior MinistryCaracas helicopter incident (Venezuela)Show map of VenezuelaLocationCaracas, VenezuelaCoordinates10°30′N 66°55′W / 10.500°N 66.917°W...
Mexican TV series or program RafaelaGenreTelenovelaRomanceDramaCreated byDelia FialloWritten byKatia R. EstradaEnna MárquezDirected byVictor Manuel FouillouxXavier RomeroStarringScarlet OrtizJorge PozaDiana BrachoRogelio GuerraChantal AndereOpening themeMi niña bonita performed by Chino & NachoEnding themePobre Corazón performed by Chino & NachoCountry of originMexicoOriginal languageSpanishNo. of episodes120 [1]ProductionExecutive producerNathalie LartilleuxProducerLe...
Cerkiew św. Jana Chrzciciela w Nesebyrze cerkiew Państwo Bułgaria Miejscowość Nesebyr Wyznanie prawosławne Kościół Bułgarski Kościół Prawosławny Wezwanie św. Jana Chrzciciela Wspomnienie liturgiczne 24 czerwca Historia Data zakończenia budowy X w. Aktualne przeznaczenie zabytek Dane świątyni Świątynia• materiał bud.• długość• szerokość • kamień14 m10 m Położenie na mapie BułgariiCerkiew św. Jana Chrzciciela w Nesebyrze 42°39′32″N 27°44�...
American automobile designer For other people with this name, see Charles Jordan. Charles Morrell Chuck JordanChuck (right) next to Nuccio Bertone at Stile BertoneBorn(1927-10-21)October 21, 1927Whittier, CaliforniaDiedDecember 9, 2010(2010-12-09) (aged 83)Rancho Santa Fe, CaliforniaOccupationAutomobile designerKnown forGM VP of Design (1986-1992) Charles Morrell Chuck Jordan (October 21, 1927[1] – December 9, 2010[2]) was an American automotive designer, born in W...
For the electronic LCD toy of the same name, see Cube World (toy). 2019 video game 2019 video gameCube WorldSteam artworkDeveloper(s)PicromaPublisher(s)PicromaDesigner(s)Wolfram von FunckArtist(s)Sarah von FunckPlatform(s)Microsoft WindowsReleaseSeptember 30, 2019Genre(s)Action role-playingMode(s)Single-player, multiplayer Cube World is an action role-playing game developed and published by Picroma for Microsoft Windows. Wolfram von Funck, the game's designer, began developing the game in Jun...
Farmer's Union organization In India This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (May 2022) Bharatiya Kisan Union ArajnaitikAbbreviationBKUAFormation15 May 2022 (18 months ago) (2022-05-15)Legal statusActiveHeadquartersLucknow, Uttar PradeshRegion served IndiaNational PresidentRajesh singh chauhanNational spokespersonDharmendra MalikKey peopleHarinam Verma, Digambar...
Indonesian folk theatre Sandiwaraplaying Sakuntala circa 1920Native nameꦭꦏꦺꦴꦤ꧀ (Javanese) ᮞᮔ᮪ᮓᮤᮝᮛ (Sundanese) Seni Sandiwara (Indonesian)Instrument(s)Gamelan, Kendhang, SulingOriginIndonesia Sandiwara Part of a series on Dance-drama of Southeast Asia Topography of Southeast Asia. Burma Peacock dance Yama Zatdaw Cambodia Royal Ballet of Cambodia Khmer Shadow Theatre Lakhon Mohory Lakhon Khol Lakhon Pol Srey Yike Indonesia Arja Bajidor Kahot Baksa kemban...
The Amiga Walker (1996). The Amiga Walker, sometimes incorrectly known as the Mind Walker, is a prototype of an Amiga computer developed and shown by Amiga Technologies in late 1995/early 1996. Walker was planned as a replacement for the A1200 with a faster CPU, better expansion capabilities, and a built-in CD-ROM. The Walker was never released; Escom and Amiga Technologies went bankrupt, and only two (three) prototypes were made.[1][2][3] The case is unique and radica...
Artikel atau sebagian dari artikel ini mungkin diterjemahkan dari List of accolades received by My Name Is Khan di en.wikipedia.org. Isinya masih belum akurat, karena bagian yang diterjemahkan masih perlu diperhalus dan disempurnakan. Jika Anda menguasai bahasa aslinya, harap pertimbangkan untuk menelusuri referensinya dan menyempurnakan terjemahan ini. Anda juga dapat ikut bergotong royong pada ProyekWiki Perbaikan Terjemahan. (Pesan ini dapat dihapus jika terjemahan dirasa sudah cukup tepat...
Arthur Thomas Hannett (* 17. Februar 1884 in Lyons, Wayne County, New York; † 18. März 1966 in Albuquerque, New Mexico) war ein US-amerikanischer Politiker und von 1925 bis 1927 der siebte Gouverneur des Bundesstaates New Mexico. Arthur T. Hannett Inhaltsverzeichnis 1 Frühe Jahre und politischer Aufstieg 2 Gouverneur von New Mexico 3 Weiterer Lebenslauf 4 Weblinks Frühe Jahre und politischer Aufstieg Arthur Hannett besuchte die University at Buffalo und dann bis 1910 die Syracuse Univers...
Troops from colonial territories of a nation This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (December 2018) (Learn how and when to remove this template message) Call-up ad inviting citizens to enlist in French Colonial Forces, after colonies of North Africa (Algeria, Tunisia) had been reconquered by the Allies in World War II. Colonial troops or colonial army...
International athletics championship eventXXIV Central American Junior and XIX Central American Youth Championships in AthleticsDatesJune 18–19Host citySan Salvador, El Salvador VenueEstadio Nacional Flor Blanca Magico GonzalezLevelJunior and YouthEvents80 (42 men, 38 women)Participation245 athletes from 7 nations← 2010 Ciudad de Panamá 2012 San Salvador → The 2011 Central American Junior and Youth Championships in Athletics were held at the Estadio Nacional Flor Blanca Magico ...
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Party of Friendship, Equality and Peace – news · newspapers · books · scholar · JSTOR (April 2012) (Learn how and when to remove this template message) Political party in Greece Party of Friendship, Equality and Peace Κόμμα Ισότητας, Ειρήν...
Amateur radio expedition A group of amateur radio operators during DX-pedition to The Gambia in October 2003 Amateur radio The International Symbol of Amateur Radio Antenna theory Automatic Link Establishment Automatic Packet Reporting System Call signs Amateur radio operator Contesting Direction finding DX communication DX-pedition Emergency communications Frequency allocations Hamfest High speed multimedia High-speed telegraphy Homebrew Internet Radio Linking Project Maritime mobile Morse c...
Map all coordinates using OSMMap up to 200 coordinates using Bing Export all coordinates as KML Export all coordinates as GeoRSS Export all coordinates as GPX Map all microformatted coordinates Place data as RDF Ang Perry Canal ngalan niining mga mosunod: Heyograpiya Tinipong Bansa 1 2 Mga dapit nga gitawag Perry Canal sa Tinipong Bansa. Perry Canal (kanal sa Tinipong Bansa, California), Placer County, 38°48′57″N 121°08′33″W / 38.81573°N 121.14245°W / 38.8...
本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目可能需要清理,以符合维基百科质量标准。具体的理由是:被隱藏的內容混合WP:可供查證、MOS:對比度、偽列表、WP:娛樂產業內容相關共識問題 (2023年10月19日)请尽量协助改善这篇条目,详情请参见讨论页。 此條目没有列出任何参考或来源。 (2023年10月27日)維基百科所有的內容都應該可供查證。请�...