Jump to content

ALGOL X

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ALGOL X
ParadigmsMulti-paradigm: procedural, imperative, structured
FamilyALGOL
Designed byDouglas T. Ross
DeveloperInternational Federation for Information Processing (IFIP) IFIP Working Group 2.1
First appeared1966; 58 years ago (1966)
Typing disciplineStatic, strong
ScopeLexical
Implementation languageAutomated Engineering Design (AED-0)
Influenced by
ALGOL 60
Influenced
ALGOL W, ALGOL N, ALGOL 68

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.

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

  1. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 March 2011). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 13 October 2020.
  2. ^ de Morgan, R. (July 1977). "The Algollers" (PDF). ALGOL Bulletin. 41: 8–9. Retrieved 11 October 2020 – via Computer History Museum.
  3. ^ 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.
  4. ^ 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.
  5. ^ "Adriaan Van Wijngaarden" (PDF). Archived from the original (PDF) on 19 October 2013.