From owner-sc22wg5@dkuug.dk  Tue Jan  7 17:19:54 2003
Received: (from majordom@localhost)
	by dkuug.dk (8.9.2/8.9.2) id RAA13352
	for sc22wg5-domo; Tue, 7 Jan 2003 17:19:54 +0100 (CET)
	(envelope-from owner-sc22wg5@dkuug.dk)
X-Authentication-Warning: ptah.dkuug.dk: majordom set sender to owner-sc22wg5@dkuug.dk using -f
Received: from nameserv.rl.ac.uk (nameserv.rl.ac.uk [130.246.135.129])
	by dkuug.dk (8.9.2/8.9.2) with ESMTP id RAA13347
	for <SC22WG5@dkuug.dk>; Tue, 7 Jan 2003 17:19:49 +0100 (CET)
	(envelope-from jkr@jkr.cc.rl.ac.uk)
Received: from jkr.cc.rl.ac.uk (jkr.cc.rl.ac.uk [130.246.8.20])
	by nameserv.rl.ac.uk (8.8.8/8.8.8) with ESMTP id QAA03761
	for <SC22WG5@dkuug.dk>; Tue, 7 Jan 2003 16:17:00 GMT
Received: (from jkr@localhost)
	by jkr.cc.rl.ac.uk (8.8.8+Sun/8.8.8) id QAA26339
	for SC22WG5@dkuug.dk; Tue, 7 Jan 2003 16:21:19 GMT
Date: Tue, 7 Jan 2003 16:21:19 GMT
From: John Reid <jkr@rl.ac.uk>
Message-Id: <200301071621.QAA26339@jkr.cc.rl.ac.uk>
To: SC22WG5@dkuug.dk
Subject: Status of Repository items
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-sc22wg5@dkuug.dk
Precedence: bulk

WG5

I have reviewed the items in our Repository, and divided them into
three categories: those that I believe have been adopted, partially
adopted, or not adopted.  Those not adopted are candidates for
inclusion in the new Repository.

Before I put this up on the server, I would be most grateful for
comments.  Have I made any errors in my categorization?

I propose to draw the Repository and this document to the attention of
those who have been questioning the process by which we chose the
features to add.

Best wishes,

John. 


.......................................................


                               ISO/IEC JTC1/SC22/WG5 N1508 (7 Jan. draft)

              Status of Repository items 

                       John Reid


At the meeting in August 2002, WG5 adopted the following resolution 
(see N1490): 

   LV10.  Future Revision of Fortran 2000

   That WG5, having regard to the facts that not all requirements
   submitted for Fortran 2000 were incorporated in the revision and
   that some common extensions are not incorporated in Fortran 2000,
   records its intent that Fortran 2000 should be revised in due course
   and that the revision should be a minor one.

   Further, that WG5 proposes to archive its Repository of Requirements
   (WG5 Standing Document 5, the latest edition of which is WG5-N1189)
   and to prepare a new repository.  To be entered in the repository, a
   suggested requirement must be submitted by a member body or by
   formal action of WG5.  Requirements should be submitted to the
   convener in the form specified in WG5-N1496.  The status of an item
   in the repository can be changed only as the result of an action of
   WG5.

To help this process, I have reviewed the items in N1189, and divided
them into three categories: those that I believe have been adopted,
partially adopted, or not adopted.  Those not adopted are candidates
for inclusion in the new Repository, but our resolution has specified
that this requires a request from a member boby or WG5 itself.

A simple count of the number of items in each list does not give an
accurate measure of the extent to which the requests made have been
satisfied since there repetition and the magnitudes of the changes vary
greatly.

These are the items that I believe are adopted in the present draft
Fortran 2000, sometimes not in the way that was suggested:

   2  Controlling Pointer Bounds
   6  Conditional Compilation
  11  Aliasing Type Definitions
  14  Parameterised Derived Types
  14a Kind Parameters for Derived Types
  16  Allow ALLOCATABLE derived-type components
  16a Allocatable arrays as dummy arguments
  17  Derived Type I/O
  18  Object Oriented Programming
  20  Command Line Arguments and Environmental Variables
  38  Improve Interoperability between Fortran and ANSI C
  38a Improve Interoperability between Fortran and C
  41  Renaming of <defined-operator> in USE
  43  Procedure variables
  43a Pointers to Procedures
  44  Regularize Handling of Pointer Arguments
  44a INTENT for pointers
  45  Minor Technical Enhancements
  52  Asynchronous I/O (proposed HPFF work)
  59  Intrinsic and User-defined Specific and Generic Names
  61  Generic COUNT_RATE Argument for SYSTEM_CLOCK
  63  STREAM I/O
  63a Binary stream I/O
  63b Non-advancing I/0 combined with free format
  64  Extend MAX, MIN, etc. to CHARACTER Data Type
  66  Extend Initialization of COMPLEX Variables
  67  Lower Case Syntax Elements
  68  Any Kind of Integer for I/O Specifiers
  69  Permit BOZ constants in the TRANSFER function
  71  Allow MERGE in constant expressions
  72  Extend ALLOCATE to specify non-KIND type parameters
  75  Allow PUBLIC entities of PRIVATE type
  76  Default I/O mode
  77  New Special Character designations
  88  Class inheritance and dynamic binding polymorphism
  93  New keywords READ_EOR, READ_EOF, WRITE_EOR (?), WRITE_EOF (?) in
      INQUIRE statements
  94  New keywords IS_EOR and IS_EOF in INQUIRE, READ and WRITE statements
  95  New keywords DEFAULT_READ and DEFAULT_WRITE in INQUIRE statement
  99  Handling of error messages
  100 New INTENT attribute: COPY_IN


These are the items that I believe have been partially adopted:

  32  Support IEC 559 conforming or similar hardware
  50  Remove limitation on statement length
  70  "Clean up" conformance rules
  74  Additional Visibility Attribute
  89  Constructors and destructors


Finally, these are the items that I believe have been not been
adopted:

   3  Language Evolution
   5  Exception Handling
   5a Exception Handling
   5b Condition Handling
   5c Exception Handling
   7  Block Comments
  15  Remove name class irregularities
  19  Standardization of performance directives
  19a Directives
  21  Bit Data Type, String
  23  Multi-threaded execution facilities
  24  Remove the restriction on the maximum rank of arrays
  24a Greater than 7 Array Dimensions
  25  Extend the semantics of the EXIT statement
  26  Selecting subarrays of non-rectangular form
  27  Parallel sections construct
  33  Nesting of internal procedures
  34  Varying length character with declared maximum
  37  Unsigned INTEGER Data Type
  42  Allow internal procedures as actual arguments
  46  Packaging Implementer Specific Intrinsics in MODULEs
  47  POSIX Binding to Fortran 90
  48  Variable Repeat Specifiers in Formats
  49  Specifying Default Precisions
  51  Annex of processor dependent items
  53  PRIVATE and SHARED variables for TASK parallelism
  54  Allow <generic-spec>s as actual arguments
  55  Regularize RANDOM_SEED functionality
  56  Remove INTENT(IN) requirement for OPERATOR, ASSIGNMENT
  57  Regularize KIND parametrization intrinsics
  58  Array Components of Array Structures
  60  Pointer Association Classes
  62  Interval arithmetic support
  65  Extend Non-advancing I/O to List-Directed I/O
  73  Named Scratch Files
  78  Qualifiers and Attributes for High Performance Computing with Fortran 90
  79  Recognition of TAB characters in Fortran input
  80  Intrinsic 'size' function for derived types
  81  Instrinsic 'sort' for arrays of intrinsic type
  82  Intrinsic function 'fft' - Fast Fourier Transformation
  83  Performance Problem: Allocation and Deallocation
  84  Overloading possibility for Pointer assignment
  85  Operators for more than two arguments
  86  Operation System Support
  87  Requirement for Cleaner & Producer in Fortran 90
  90  Four new elemental intrinsic functions: TRUNCATE, ROUND, IBCHNG,
      ICOUNT
  91  PATTERN= in bit manipulation functions such as IBCLR, IBSET, IBCHNG
  92  Reserved words
  96  Consider an array as a single object; give POINTER attribute to
      array valued function results
  97  New transformational functions: POSITION and LOCATION
  98  New functions to handle arrays: SCRIPT and SCALAR
  101 New keyword NOCOPY= for functions TRANSFER and RESHAPE
  102 Primitive graphic facilities in Fortran

