The following Fortran 90 features improve previous Fortran features:
Lowercase characters are now allowed in source text. A semicolon can be used to separate multiple statements on a single source line. Additional characters have been added to the Fortran character set, and names can have up to 31 characters (including underscores).
For more information, see Chapter 2.
Intrinsic data types can be specified in a portable way by using a kind type parameter indicating the precision or accuracy required. There are also new intrinsic functions that allow you to specify numeric precision and inquire about precision characteristics available on a processor.
Procedure arguments can be made optional and keywords can be used when calling procedures, allowing arguments to be listed in any order.
For more information, see Chapter 8.
Fortran 90 provides additional keywords for the OPEN and INQUIRE statements. It also permits namelist formatting, and nonadvancing (stream) character-oriented input and output.
For more information on formatting, see Chapter 10; on OPEN and INQUIRE, see Chapter 12 (for OpenVMS system details) or Chapter 13 (for Tru64 UNIX, Windows NT, and Windows 9* system details).
Fortran 90 provides a new control construct (CASE) and improves the DO construct. The DO construct can now use CYCLE and EXIT statements, and can have additional (or no) control clauses (for example, WHILE). All control constructs (CASE, DO, and IF) can now be named.
For more information, see Chapter 7.
Fortran 90 provides many more intrinsic procedures than existed in FORTRAN 77. Many of these new intrinsics support mathematical operations on arrays, including the construction and transformation of arrays. New bit manipulation and numerical accuracy intrinsics have been added.
For more information, see Chapter 9.
The following specification statements are new in Fortran 90:
Fortran 90 lets you specify attributes (such as PARAMETER, SAVE, and INTRINSIC) in type declaration statements, as well as in specification statements.
For more information, see Section 5.1.
These concepts were implicit in FORTRAN 77, but they are explicitly defined in Fortran 90. In FORTRAN 77, the term scoping unit applies to a program unit, but Fortran 90 expands the term to include internal procedures, interface blocks, and derived- type definitions.
For more information, see Chapter 15.