British Computer Society Logo British Computer Society Fortran Specialist Group

HOME | CONTACT DETAILS | EVENTS DIARY | GROUP HOME | BCS WEBSITE
 
  - FSG Home page
 
- Contact Details
 
- Joining the Group
 
- 2004 AGM presentations
 
- Important Disclaimer
 
 

The Future for Fortran

David Muxworthy, BSI Fortran convenor

Prepared for the BCS Fortran Specialist Group Meeting, May 19 2004

The title is taken to cover future developments in the content of the language. The position of Fortran usage compared to other languages is a matter of some speculation and few statistics. A T-shirt slogan seen recently was "Fortran - A Language with a Past and a Future". The number of vendors attending standards meetings has reduced in recent years, but so has the number of vendors because of mergers between companies. There are however still three software houses in the UK producing Fortran processors.

With regard to the content of the language, at the May 2004 WG5 meeting it was decided that the next revision of the Fortran standard should be a minor one, following the pattern set by Fortran 90 (major), 95 (minor) and 2003 (major). A schedule was approved which envisages the next standard being published in the summer of 2009. A first selection of requirements will be made in May 2005 with the final selection nine months later. To proceed from there to a conclusion in three years is a very tight schedule and the timetable will very strongly influence the choice of content. The detailed timetable is at WG5/N1590.

To attempt to classify proposals, WG5 has adopted an eight-point scale, as follows.

  1. Minor editorial (less than 10 lines altered).
  2. Significant editorial (up to a page altered) with no technical change.
  3. Very minor technical change. An example is adding the optional argument KIND to IACHAR. Also major editorial (up to a chapter altered) with no technical change.
  4. Minor technical change. An example is changing type-bound generics to be sets of specific named type-bound procedures.
  5. Technical change likely to need more than two J3 meetings to develop. An example is reallocation of allocatable arrays.
  6. Technical change likely to need more than a year to develop. The modules and allocatable TRs are examples.
  7. Technical change likely to need more than 2 years to develop. The IEEE TR is an example.
  8. Technical change likely to need more than 3 years to develop. Interfacing with C and the OO features are examples.

The resources available to work on developing the standard are noticeably smaller than in the days of Fortran 90 and the same people must also devote part of their time to processing interpretation requests for the current standard. It was therefore envisaged that it would be possible to work on at most one level 6 item and probably on no items at level 7 or 8.

Each country's Fortran standards group submits suggestions for developments to the standard which are collected together into WG5's repository of requirements. At present this holds only four items, all from the UK. The UK proposals are to do with co-array Fortran (level 6), already presented to the FSG, two on decimal floating point arithmetic, and one on giving information on the KINDs which are implemented. One of the reasons that the UK has been relatively parsimonious so far is that it was known that the US was dealing with a large number of suggestions.

The US Fortran Committee has received some 164 proposals up to now and is sifting through them. Of these, ten had been categorized as 'large', 29 as 'medium' and 52 as 'small' and of the remainder, 17 were found to overlap with others and the rest were either withdrawn by the submitter or rejected by the committee. The US committee applied the eight-point scale to its large items, which are:

  1. Physical units (level 7), see J3/04-122
  2. Initial procedures (level 6), see J3/04-126
  3. Named subranges of integers (level 6), see J3/04-140
  4. Creating new types (level 5), see J3/04-146
  5. Parameterized modules (level 6), see J3/04-153
  6. Declarations within constructs (level 5), see J3/04-155
  7. Combining assumed and explicit shape (level 6), see J3/04-197
  8. Typeless objects (level 7), see J3/04-244
  9. New varieties of derived type parameters (level 7), see J3/04-245
  10. Generic program units (level 7), see J3/04-247

Among the many minor technical enhancements being considered are such things as allowing USE within a type specification and allowing ranks of arrays to exceed 7.

It seems likely that at most one or two of the large (levels 6 and 7) US proposals will be seriously considered for final adoption and the UK co-array proposal will have to compete with them for inclusion.

There is however still plenty of time for anyone interested to put forward ideas of whatever complexity. Most of the ideas so far are from those working in the standards committees and it would be very good to learn of real needs from others using Fortran, particularly for large programs. Suggestions from the UK should be sent to the BSI Fortran Panel in the first instance and should be in electronic form in plain text using the format specified in WG5/N1496 and sent to d.muxworthy@bcs.org.uk. More information on submitting suggestions is available here.

David Muxworthy
May 7, 2004
(with modifications by John Reid, 20 May)


Valid XHTML 1.0! Comments on this or any other of the Group's pages should be sent by e-mail to the BCS FSG Web Editor, Peter Crouch, at pccrouch@bcs.org.uk



  - Top of page © Copyright British Computer Society