ALGOL X

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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 AED-0 system ("Automated Engineering Design", also referred to as"ALGOL Extended for Design") by Douglas T. Ross of 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 X[edit]

  • 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]

References[edit]

  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 links[edit]

See also[edit]