ABS12 ALGOL(ID:3955/abs001)

Algol 60 with process control extensions 


Algol 60 extended for Industrial uses


Related languages
ALGOL 60 => ABS12 ALGOL   Extension of

References:
  • Hockney, RW "ABS12 ALGOL: an extension to Algol 60 for industrial use" view details Abstract: The Computer Journal, Volume 4, Issue 4, pp. 292-300: Abstract.


    ABS12 ALGOL: an extension to Algol 60 for industrial use
    RW Hockney

    The English Electric Company Ltd., Whetstone, Leicester, UK


    The author believes that Algol 60 is not sufficiently powerful to serve as a computer language for the solution of scientific problems in industry, and that the language should be extended for this purpose without delay. This paper presents such an extension, which is written as additional wording to the Algol 60 report, and is primarily aimed at simplifying work on complex numbers and matrices. Special care has been taken to ensure that any Algol 60 program is also a legal program in ABS12 Algol.
    External link: Copy at the Computer Journal Archive
          in The Computer Journal 4(4) January 1962 view details
  • Shimrat, Eli review of Hockney 1962 view details Abstract: This paper presents a proposed extension of ALGOL 60 intended to simplify the handling of complex numbers and matrices. To that purpose two new "value types" are introduced (in addition to real, integer, and Boolean), namely complex and array. In the latter case, though no new word is used, the innovation consists in that an identifier, representing an unsubscripted variable, may now be declared as being of type array, and such variable can have as its value a whole array (numerical or Boolean) with (given) constant bounds. The elements of such an array may again be arrays; and so on to any (variable) depth.

    Matrix operations, including those involving partitioned matrices and "logical matrices", can now be expressed in a concise and convenient manner similar to the customary mathematical notation.

    An important feature resulting from the nested structure of arrays is the appearance of subscripted variables with several subscript lists. Thus A [ 5,2 ] [9 ] denotes the 9th element of the (linear) array which constitutes the element in position [ 5,2 ] of the 2-dimensional array A, and may itself be an array, say ( [ 1:2 ] 3,6), in which case A [ 5,2 ] [9 ] [1 ] is 3 and A [ 5,2 ] [9 ] [2 ] is 6.

    Some minor remarks and corrections:

    The definition (a/ - 1:: = i) in 4.0.(2.5.) seems rather debatable. One would imagine that the fact that i X i = - 1 needs as little mention in the A1GOL report as 3 X 2 = 6.

    The definition of (complex number) does not seem to include an expression like 3 + i. This is not actually an omission, as 3 + i may be regarded as an arithmetic expression, but it would seem more satisfactory and in keeping with the general syntactic structure of ARGON to begin the definition somewhat like this

    (complex number):: = (real part) (imaginary
    part) | (real part) | (imaginary part).

    In 4.0.(2.5.2.) it would seem that Boolean array should have been printed, in both cases, in light-face characters.

    In 4.0.(3.2.4.) under Inv(E) the condition should be added that the basic matrix must be non-singular.

    One might observe that the name of the article seems to be too restrictive as the need for an extension such as ABS12 must be felt in areas other than industrial ones as well.

          in ACM Computing Reviews 5(03) May-June 1964 view details