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 _______________________________________________ ukfortran mailing list http://lists.accu.org/mailman/listinfo/ukfortran