ALGOL X was the code name given to a programming language which was being developed as a successor to ALGOL 60, by the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which supports and maintains the languages ALGOL 60 and ALGOL 68.[1] It attempted to find a "short-term solution to existing difficulties". ALGOL N and ALGOL W were two other ALGOL versions proposed to fulfill this need.
Paradigms | Multi-paradigm: procedural, imperative, structured |
---|---|
Family | ALGOL |
Designed by | Douglas T. Ross |
Developer | International Federation for Information Processing (IFIP) IFIP Working Group 2.1 |
First appeared | 1966 |
Typing discipline | Static, strong |
Scope | Lexical |
Implementation language | Automated Engineering Design (AED-0) |
Influenced by | |
ALGOL 60 | |
Influenced | |
ALGOL W, ALGOL N, ALGOL 68 |
According to de Morgan, "... the Algol 60 devotees had not been idle... they set out to eliminate the dreaded Remaining Trouble Spots. They called their Algol 60 'Modified'."[2]
One ALGOL X compiler is known to have existed. It was written with the Automated Engineering Design (AED-0) system, also termed ALGOL Extended for Design, by Douglas T. Ross of the Massachusetts Institute of Technology (MIT).[3][4]
Example class definition: (an extract from AB26.2.2)
class expression is constant (real value) ora variable (string printname) ora class pair is (sum ora difference ora product ora quotient)((expression) left operand, right operand, derivative);
Example class usage:
(expression) X; (constant) Y; (pair) Z; (product) Q; X := Y:= constant(10.5); Z := Q := product(variable("ALPHA"), constant(2.), constant(2.))
"Initially the proposal for an update to Algol was Algol X, with Algol Y being the name reserved for the corresponding metalanguage. Van Wijngaarden produced a paper for the 1963 IFIP programming language committee, entitled “Generalized Algol,” which contained the basic concepts which were eventually incorporated into Algol 68."[5]
References
edit- ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 March 2011). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 13 October 2020.
- ^ de Morgan, R. (July 1977). "The Algollers" (PDF). ALGOL Bulletin. 41: 8–9. Retrieved 11 October 2020 – via Computer History Museum.
- ^ Ross, Douglas T. (October 1966). "An Algorithmic Theory of Language (AB26.2.2)". Defense Technical Information Center. Massachusetts Institute of Technology. p. 6. Archived from the original on 26 June 2013. Retrieved 12 August 2020.
- ^ Ross, D. T. (August 1967). "AB26.2.2 Features Essential for a Workable ALGOL X". ACM SIGPLAN Notices: ALGOL Bulletin. 26 (2). Association for Computing Machinery: Digital Library. doi:10.1145/1139498.1139500. S2CID 38156680. Retrieved 12 August 2020.
- ^ "Adriaan Van Wijngaarden" (PDF). Archived from the original (PDF) on 19 October 2013.
External links
edit- Investigations in CAD FR035 Chapter IV- AED beyond Algol 60
- ALGOL X and ALGOL Y; Lambert Meertens; CWI Lectures in honour of Adriaan van Wijngaarden; November 2016