J3/01-333r1 From: Dan Nagle To: J3 Date: 23 Aug 01 Subject: Flesh Out Intro A Paper for WG5, N1459, paraphrased the list in the Introduction to the CD. It has been suggested that the language in that paper would actually improve the list in the introduction. This paper makes the change. Edits: Replace [xiv:10-31] with the following list: o Derived type enhancements: parameterized derived types (allowing the kind, length, or shape of a derived type's components to be chosen when the derived type is used), mixed component accessibility (where different components have different accessibility), public entities of private type, improved structure constructors, and finalizers. o Object oriented programming support: extensible types (providing inheritance), inheritance (where one type extends the definition of another type), polymorphism (where the type of a variable may vary at runtime), dynamic type allocation, SELECT TYPE construct (which allows a choice of execution flow depending upon which type a polymorphic object currently has), and type-bound procedures. o The ASSOCIATE construct (which allows a complex expression or object to be denoted by a simple symbol). o Data manipulation enhancements: allocatable components, deferred type parameters, VOLATILE attribute, explicit type specification in array constructors, INTENT specification of pointer arguments, specified lower bounds of pointer assignment and pointer rank remapping, extended initialization expressions, MAX and MIN intrinsics for character type, and enhanced complex constants. o Input/output enhancements: asynchronous transfer operations (where a program can continue to process data while an input/output transfer occurs), stream access (which facilitates access to a file without reference to any record structure), user specified transfer operations for derived types, user specified control of rounding during format conversions, named constants for preconnected units, regularization of input/output keywords, and access to input/output error messages. o Abstract interfaces (which give names for specified interfaces) and pointers to procedures. o Scoping enhancements: the ability to rename defined operators (which supports greater data abstraction) and control of host association into interface bodies. o Support for IEC 60559 (IEEE 754) exceptions and arithmetic (to the extent a processor's arithmetic supports the IEC standard). o Interoperability with the C programming language (allowing portable access to many libraries and the low-level facilities provided by C and allowing the portable use of Fortran libraries by programs written in C). o Support for international usage: (ISO 10646) and choice of decimal or comma in numeric formatted input/output. o Enhanced integration with the host operating system: access to command line arguments (where supported) and environment variables (where supported), and access to the processor's error messages (which allows the program to better process exceptional conditions).