(j3.2006) (SC22WG5.3466) WG5-N1682
David Muxworthy
d.muxworthy
Sun Jul 22 12:23:26 EDT 2007
ISO/IEC JTC1/SC22/WG5-N1682
BRITISH STANDARDS INSTITUTION
COMMITTEE ON PROGRAMMING LANGUAGES (IST/5)
UK National Activity Report presented to the meeting of
ISO/IEC JTC1/SC22/WG5 (Fortran), London, UK, August 6 - 10, 2007
Part 1 - Administrative
Membership and meetings
Membership of the BSI Fortran Panel has changed during the year but
there are still 20 members, including observers. One member of the
BSI Panel is also an alternate member of J3 and of course one member
is WG5 convenor. The panel's business is normally conducted by e-mail
and it meets only when there are issues to be resolved which cannot be
decided otherwise. A panel meeting was held in June to consider UK
opinion on the current working draft; see Part 2 below.
SC22 ballots
Since the last WG5 meeting the BSI votes have been to approve
Technical Corrigendum 2 and to approve with comments the NP for TR
Type 2 on Further Fortran Interoperability with C.
Technical Corrigendum 1
Technical Corrigendum 1 was published in February 2006 having been
completely reformatted by ITTF, creating possible ambiguities. This
was pursued through BSI, as well as through the WG5 convenor, as
several other UK language representatives had similar issues about
erratic editing by ITTF. ITTF agreed in May 2006 that the document
would be corrected and reissued but there has been no progress to
date and none is now seriously expected.
Fortran 50th Anniversary Meeting, January 2007
A very successful meeting was held in London on January 25 2007 to
mark the 50th anniversary of the release of the first Fortran
compiler. It was attended by about 60 people. Details are at
http://www.fortran.bcs.org/2007/jubileeprog.php. The organizer, Peter
Crouch, is helping to plan a similar session at SC07 in Reno in
November.
Brian Meek
It would be appropriate at this meeting to remember Brian Meek, who
was a member of staff at King's College London and who died
unexpectedly ten years ago this month. Brian was one of the prime
movers in the group which, at the Hague meeting of SC5 (now SC22) in
1977, established the general structure in ISO for program language
standardization and in particular instigated the meetings of ISO
Fortran Experts which developed into WG5. He had been a pillar of UK
programming language standardization for well over twenty years and is
still much missed, particularly in BSI. Some further details are in
WG5-N1293.
Part 2 - UK Opinion on Fortran 2008 Working Draft
This is a necessarily incomplete summary of discussions on the Fortran
2008 working draft which have taken place in recent months in the BSI
Fortran panel, both by e-mail and at a meeting on June 14, and is
intended as input to further discussion at the WG5 meeting. It does
not of course claim to represent the opinion of any one single
individual on the BSI panel.
Firstly, J3 is to be congratulated for keeping to a very strict
timetable and for completing a vast amount of work in a short period.
Completion of the first working draft now gives the opportunity for
WG5 to review the proposed language as a whole and to consider whether
the current position is that which was anticipated when work started
in 2004/5.
The schedule
There is general agreement in the BSI panel that the schedule for the
revision has proved to be too optimistic and that the many caveats
attached to the schedule (N1590) have been overlooked by both WG5 and
J3. There must be some experience with F2003 compilers and with use of
the language before the next revision is finalized. It has never
happened before that a revised Fortran standard has appeared before
the previous one was implemented. Compilers in the field have some
F2003 features but there is as yet no full implementation. NAG for
example does not anticipate having a complete F2003 release until
2010, although many features of F2003 will be available before then.
It was telling that a recent email trawl amongst UK users for comment
on the new features in F2008 brought no response whatever; the only
input was from those already involved in the standards process. This
was thought to be because users in general are not yet familiar with
F2003 (or even with earlier versions in some cases) and hence are not
yet concerned about proposals for the future.
To bring out a new standard before F2003 is completely implemented
could put a substantial strain on vendors (and on authors of textbooks
and manuals and on training staff, etc); they could well feel that
they would never catch up. Further, it could give an opportunity for
the bean-counters in vendor organizations to argue for abandoning
Fortran production altogether. A few years ago there were four
companies in the UK producing Fortran processors; now there is one.
There is also the matter of user perception. Despite the huge efforts
made by the standards committees over 30 years to achieve backwards
compatibility, there is clearly still confusion amongst some users,
notably some contributors to comp.lang.fortran, about the
compatibility between F77 and F90/95. F2003 will no doubt add to
their confusion; a premature F2008 would add further. A point made at
the British Fortran 50 meeting this year was that the appearance of
Algol 60 too soon after Algol 58 had undermined the view of Algol as a
stable platform and had been a factor in helping Fortran to win out
over Algol. Fortran should not be put in the same position.
There is therefore a strong majority in the BSI panel in favour of
slipping the revision schedule by two years. This is seen as being in
the best interests of both vendors and users. It was thought very
important however to prohibit consideration of totally new
requirements.
The overall content
There is concern that what had been intended as a minor revision, in
the style of F90 to F95, has turned out to be a much bigger expansion.
Again, in reviewing the overall content, it is important to take user
perception and the demand on vendors into account.
While page counts are a crude measure of language complexity, it is
noteworthy that whereas the F95 standard had 3% fewer pages than F90,
F2003 showed a 56% increase on F95 and the F2008 draft is 21% larger
again than F2003 (and 88% larger than F95).
There is considerable sentiment, if not unanimity, in the BSI panel
for removing all of the big three items (intelligent macros, co-arrays
and BITS) and possibly some of the middle-sized items. Although WG5
agreed last summer to the diversion of further interoperability with C
to a TR, it has been suggested in the BSI panel that completing this
feature in the revised standard would be of more value to more users
than some of the other new facilities.
The three major items
Co-arrays
Co-arrays were said to have become bloated beyond the original
Reid-Numrich proposal and would benefit from reduction, by disallowing
co-arrays as structure components, reducing the number of alternatives
for synchronization, removing the collectives, removing all use of the
type image_team and requiring system to be homogeneous. Such
reduction was strongly approved by the panel.
There was discussion on whether co-arrays should be in the standard or
in a TR, with strong feelings both ways. For one participant
co-arrays in the standard could not come too soon. On the other hand
the fundamental conceptual model of co-arrays was queried and the
presentation in the draft, whereby parallel programs became the norm,
and all existing (and future non-co-array) Fortran programs became
special cases, was considered unfortunate, especially as co-arrays
would be relevant to only a minority of users.
Intelligent macros
Intelligent macros were thought to be useful but not essential. Their
removal would not have a significant effect on the size of the
language and the feature did not generate strong feelings for or
against. A straw vote gave a majority for retention rather than
diversion to a TR.
BITS
BITS on the other hand generated very strong opinions. It was
recommended that BITS be removed completely from the language,
although a minority suggested that a bit-handling facility could be
the subject of a TR. It was noted that a straw vote at the end of the
February 2006 WG5 meeting (N1654 line 482) in effect voted 11-6
against continuing work on BITS.
There is concern that the proposed new intrinsic type, the first since
CHARACTER in F77, adds considerably to the size and complexity of the
language but makes little improvement to its utility, does not add
significantly to the set of problems solvable by Fortran and
disaffirms the increase in elegance of expression which has taken
place from F90 onwards. Moreover the system-based design precludes
future extension to a more general facility, that is one which would
allow for arbitrary length strings and for variable length strings.
It appears also to be incompatible with some existing vendor
extensions and may be incompatible with the true decimal architectures
now being mooted.
While it was said that it offered some gains in convenience and
efficiency, the majority view in the panel was that the basic model
was misconceived and would in general lead to losses in performance,
safety and portability. Depending on the detail, similar effects
could be achieved by using CLASS, TRANSFER or TYPE(c_ptr).
A fuller summary of the discussion is at
http://www.fortran.bcs.org/2007/comments_on_bits.pdf.
Other features
It was suggested that if it were still required to remove items from
the standard then the additional mathematical functions and the
changing of the maximum array rank to 15 could be candidates; in the
latter case one possibility would be to keep the maximum array rank at
7 and to have a maximum co-array rank of 7. However this area was not
considered in any depth.
David Muxworthy
IST/5/-/5 (Fortran) Convenor
July 23, 2007
More information about the J3
mailing list