ALGOL X

ALGOL X was the code name given to the programming language which the Working Group 2.1 on ALGOL of the International Federation for Information Processing was to develop as a successor to ALGOL 60. It attempted to find a "short-term solution to existing difficulties".

According to de Morgan[1] "... the Algol 60 devotees had not been idle... they set out to eliminate the dreaded Remaining Trouble Spots. They called their Algol 60 'Modified'."

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).[2]

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."[1]

The ALGOL Bulletin on ALGOL XEdit

  • AB21.3.1 – G. Seegmuller: Some proposals for ALGOL X [2]
  • AB21.3.2 – Joachim von Peschke: Proposals for ALGOL X [3]
  • AB22.3.2 – J.N. Merner: Own concept and ALGOL X [4]
  • AB22.3.10 – M. Woodger: ALGOL X, Note on the proposed successor to ALGOL 60 [5]
  • AB25.0.1 – ALGOL Bulletin – ALGOL X [6]
  • AB26.2.2 – Douglas T. Ross: Features essential for a workable ALGOL X [7]

See alsoEdit

ReferencesEdit

  1. ^ Algol Bulletin 41, Jul 1977, The Algollers
  2. ^ Douglas T. Ross, October 1966 An Algorithmic Theory of Language (AB26.2.2 page 6)

External linksEdit