Few computing techniques have been as successful for software development as Fortran's external procedure facilities. These may be viewed as a practical way to provide libraries of abstract operators for manipulating numeric and boolean, and in Fortran 77 also character, data objects. The implementation details of such operators are hidden from, and are of no concern to, the user. Proposed
... [Show full abstract] Fortran 8x allows programmers to define new data objects. Intrinsic operations do not exist for programmer-defined objects, and procedural abstraction is the only mechanism for providing operations for such objects. Thus implementation details of programmer-defined object operators may also be hidden from the user. Moreover, data object definitions themselves may be made externally, and used without local redefinition. Thus the implementation details of any data object may also be ignored by the user. Fortran 8x therefore provides many of the features of data abstraction as well as procedural abstraction. The proposed Fortran 8x mechanisms for data object definition and external data libraries will be described, with examples of their use as data abstraction facilities.