The facilities for array computation in Fortran 90 make it particularly suitable for programming scientific and engineering numerical calculations on high performance computers. Indeed, some of these facilities are already supported in compilers from a number of vendors. The introductory overview in the Fortran 90 standard states:

Operations for processing whole arrays and subarrays (array sections) are included in the language for two principal reasons: (1) these features provide a more concise and higher level language that will allow programmers more quickly and reliably to develop and maintain scientific/engineering applications, and (2) these features can significantly facilitate optimization of array operations on many computer architectures.- Fortran Standard (page xiii)

Other features of Fortran 90 that improve upon the features provided in FORTRAN 77 include:

- Additional storage classes of objects. The new storage classes
such as allocatable, automatic, and assumed-shape objects as well as the
pointer facility of Fortran 90 add significantly to those of FORTRAN 77
and should reduce the use of FORTRAN 77 constructs that can
lead to less than full computational speed on high performance
computers, such as
`EQUIVALENCE`between array objects,`COMMON`definitions with non-identical array definitions across subprograms, and array reshaping transformations between actual and dummy arguments. - Support for a modular programming style.
The module facilities of Fortran 90 enable the use of data abstractions in
software design. These
facilities support the specification of modules, including user-defined
data types and structures, defined operators on those types, and
generic procedures for implementing common algorithms to be used on a
variety of data structures. In addition to modules, the definition of
interface blocks enables the application programmer to specify
subprogram interfaces explicitly, allowing a high quality compiler to
use the information specified to provide better checking and
optimization at the interface to other subprograms.
- Additional intrinsic procedures. Fortran 90 includes the
definition of a large number of new intrinsic procedures. Many of
these support mathematical operations on arrays, including the
construction and transformation of arrays. Also, there are numerical
accuracy intrinsic procedures designed to support numerical
programming, and bit manipulation intrinsic procedures derived from
MIL-STD-1753.

HPF conforms to Fortran 90 except for additional restrictions placed on the use of storage and sequence association. Because of the effort involved in producing a full Fortran 90 compiler, HPF is defined at two levels: Subset HPF and full HPF. Subset HPF is a subset of Fortran 90 with a subset of the HPF extensions. HPF is Fortran 90 (with the restrictions noted in Section ) with all of the HPF language features.

Thu Dec 8 16:17:11 CST 1994