HAYNAM Algol extensions(ID:7391/hay002)





Related languages
Wegstein string Algol => HAYNAM Algol extensions   Incorporated some features of

References:
  • Haynam, G. E. "An extended ALGOL based language" pp449-454 view details Abstract: The purpose of a problem oriented language (POL) is to provide a convenient and efficient means for expressing the algorithms for solving a large class of problems. In the past, many special problem oriented languages were developed to efficiently handle special classes of problems such as data processing, list processing, and simulation. Currently since the advent of ALGOL 60 as a very general problem oriented language, it is possible to extend the ALGOL language to include efficiently and effectively the vast majority of the special classes of problems described above. Thus, it is possible to use the ALGOL language as a basis or carrier for extended special purpose languages without losing any of the generality of the ALGOL language itself. DOI
          in [ACM] Proceedings of the 1965 20th National Conference 1965 , Cleveland, Ohio, United States view details
  • Bachelor, A. review of Haynam 1965 view details Abstract: This article contains suggestions for extending ALGOL to facilitate handling of problems in data processing, list processing, and simulation. For data processing, string variables and arrays are proposed, with such features as string comparisons, string assignment statements, and automatic type conversion between numbers and strings composed of digits. Substrings can be named in the declaration of a string variable or array, a portion of a string can be selected by a subfield expression, and string procedures are permitted. These string structures, together with a set of ALGOL procedures for data processing functions such as sorting and merging, would enable ALGOL to handle the kind of problems for which COBOL is designed.

    To handle list processing problems such as symbol manipulation, the only feature needed in ALGOL is the ability for the user to define generalized data structures and variables. This ability would be provided by a compiler directive called define. This is used to define new declarators. For example, define list; would cause list to be treated as a declarator. Then list A,B,C; declares A, B. and C to be list variables. Operations with such variables are carried out (at run time) by subroutines supplied by the user. Thus, C: = A + B; causes the subroutine for "adding" lists to be called with arguments A and B. Then the subroutine for list replacement is called to perform the assignment to C. Of course, the define feature can be used to add practically any kind of data structure to ALGOL, including matrices.

    For simulation, the generalized variable concept is useful, but one also needs parallel processes or procedures. The author does not describe these extensions, but refers the reader to SIMULA, an extension to ALGOL 60 made by Dahl and Nygaard in Norway.

    This reviewer feels that the suggested extensions are good ideas, and should be considered when (and if) an extended ALGOL is adopted. G.
          in ACM Computing Reviews 7(01) January-February 1966 view details