That is a good summary, but nevertheless I believe that you have not described with enough details the proposals of McCarthy and Hoare, which have been the most important innovations included in the discussions about the future of Algol and which had a great influence on the evolution of many programming languages.
In the proposal of John McCarthy from December 1964, "Definition of new data types in ALGOL x", besides the overloaded operators mentioned by you, an even more important proposed feature were the "union" types, as a better language feature than the Fortran EQUIVALENCE.
Algol 68 has incorporated union types and overloaded operators in a form close to McCarthy's proposal, but C, even if it has taken the keyword "union" from Algol 68, unfortunately it has used it only with a meaning similar to Fortran's EQUIVALENCE.
In C. A. R. Hoare's proposal from November 1965, "Record Handling" a large number of new programming language features have been proposed, besides "records" and "record classes".
Both "record" and "class" are COBOL 60 keywords. COBOL 60 used "record" for what later PL/I will call "structure", a term inherited by C, and it used "class" for what ALGOL 60 called "type". SIMULA 67 has taken "records" and "record classes" from Hoare, but it has abbreviated "record class" to "class", a term inherited then from SIMULA 67 by all OOP languages.
Hoare's proposal also included "Declared Reference Variables" which PL/I has taken from Hoare and it has renamed them to "pointers", which is the term inherited from PL/I by most later languages.
Other new features in that proposal: "new" and "destroy" procedures for dynamically allocated records, a special reference value "null", i.e. the null pointer, what are now named constructors, for initializing the records, and "Finite Set Declarations" i.e. what are now called enumerations.
adrian_b|2 years ago
In the proposal of John McCarthy from December 1964, "Definition of new data types in ALGOL x", besides the overloaded operators mentioned by you, an even more important proposed feature were the "union" types, as a better language feature than the Fortran EQUIVALENCE.
Algol 68 has incorporated union types and overloaded operators in a form close to McCarthy's proposal, but C, even if it has taken the keyword "union" from Algol 68, unfortunately it has used it only with a meaning similar to Fortran's EQUIVALENCE.
In C. A. R. Hoare's proposal from November 1965, "Record Handling" a large number of new programming language features have been proposed, besides "records" and "record classes".
Both "record" and "class" are COBOL 60 keywords. COBOL 60 used "record" for what later PL/I will call "structure", a term inherited by C, and it used "class" for what ALGOL 60 called "type". SIMULA 67 has taken "records" and "record classes" from Hoare, but it has abbreviated "record class" to "class", a term inherited then from SIMULA 67 by all OOP languages.
Hoare's proposal also included "Declared Reference Variables" which PL/I has taken from Hoare and it has renamed them to "pointers", which is the term inherited from PL/I by most later languages.
Other new features in that proposal: "new" and "destroy" procedures for dynamically allocated records, a special reference value "null", i.e. the null pointer, what are now named constructors, for initializing the records, and "Finite Set Declarations" i.e. what are now called enumerations.