|
|
|
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.
- Minor editorial (less than 10 lines altered).
- Significant editorial (up to a page altered) with no technical change.
- 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.
- Minor technical change. An example is changing type-bound generics to be
sets of specific named type-bound procedures.
- Technical change likely to need more than two J3 meetings to develop. An
example is reallocation of allocatable arrays.
- Technical change likely to need more than a year to develop. The modules
and allocatable TRs are examples.
- Technical change likely to need more than 2 years to develop. The IEEE TR
is an example.
- 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:
- Physical units (level 7), see
J3/04-122
- Initial procedures (level 6), see
J3/04-126
- Named subranges of integers (level 6), see
J3/04-140
- Creating new types (level 5), see
J3/04-146
- Parameterized modules (level 6), see
J3/04-153
- Declarations within constructs (level 5), see
J3/04-155
- Combining assumed and explicit shape (level 6), see
J3/04-197
- Typeless objects (level 7), see
J3/04-244
- New varieties of derived type parameters (level 7), see
J3/04-245
- 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)
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
|