This paper presents a brief overview of the new array handling language extensions currently proposed for the next 198x FORTRAN standard. The major new features center on treating arrays as whole objects and on providing a rich set of corresponding operations.
Usual scalar operations also apply to arrays on an element-by-element basis; scalar values can be extended to arrays, much like in PL/I. Powerful subarray selection mechanisms are provided by array sections and by the IDENTIFY statement. Other selection mechanisms include the new MERGE and WHERE statements. A rich set of array handling intrinsic functions is provided.
Another new feature is that now array dummy arguments in a subroutine must be conformable to their actual arguments. It is no longer necessary to pass array bounds as additional integer arguments.
An informal and unofficial rationale for the new approach is given. The changes will produce a great reduction in source program size and complexity and will allow intensive optimizations for pipelined and parallel architectures. The above conclusions are well supported by experiments with two compilers implemented by the author at CSPI--one of the major manufacturers of array processors. Some implementation details are also given, including the use of array descriptors.
Some examples are given. Unfortunately, some of them seem hard to follow due to the brevity of presentation and the lack of figures. There also seem to be some minor printing errors.
I think that such a paper is important to everyone involved in scientific computation. The conflicting FORTRAN features which now exist may soon become obsolete in the new 198x standard; they may be entirely dropped from the next 199x standard.