This part of ISO/IEC 1539 has been prepared by ISO/IEC
JTC1/SC22/WG5, the technical working group for the Fortran
language. This part of ISO/IEC 1539 is an auxiliary standard to
ISO/IEC 1539-1 : 1997, which defines the latest revision of the
Fortran language, and is the first part of the multipart Fortran
family of standards; this part of ISO/IEC 1539 is the second part.
The revised language defined by ISO/IEC 1539-1 : 1997 is informally
known as Fortran 95.
This part of ISO/IEC 1539 defines the interface and semantics
for a module that provides facilities for the manipulation of
character strings of arbitrary and dynamically variable length.
Annex A refers to a possible implementation, in Fortran 95, of a
module that conforms to this part of ISO/IEC 1539. It should be
noted, however, that this is purely for purposes of demonstrating
the feasibility and portability of this standard. The actual code
is not intended in any way to prescribe the method of
implementation, nor is there any implication that this is in any
way an optimal portable implementation. The module is merely a
fairly straightforward demonstration that a portable implementation
This standard is a development from a previous version known as
ISO/IEC 1539-2: 1994 that takes account of the improvements
introduced in Fortran 95. The most significant improvements in
Fortran 95 for the present standard were the introduction of pure
and elemental procedures. Since pure and elemental functions can be
used in specification expressions, their introduction in this
standard enhances the usability of the standard for the end user.
The ability to define many of the functions specified in this
standard to be elemental improves the compatibility of these
functions with similar intrinsic functions defined by the main
The improvements in type initialization provided in Fortran 95
have also enabled the sample implementation referred to in Annex A
to be written in such a way that significant leakage of memory is
less likely to occur.