Path: utzoo!attcan!uunet!mcsun!cernvax!cernvm.cern.ch From: metcalf@cernvm.cern.ch (Michael Metcalf) Newsgroups: comp.lang.fortran Subject: FORTRAN 90 Keywords: Fortran90 Message-ID: <1921@cernvax.UUCP> Date: 31 May 90 07:53:31 GMT Sender: dietrich@cernvax.UUCP Organization: CERN, European Laboratory for Particle Physics Lines: 105 FORTRAN 90 - AT LAST! _____________________ New Draft is Forwarded ______________________ For the last 12 years, the ANSI technical committee X3J3 has been working on a new version of the Fortran standard, to replace FORTRAN 77. The good news from the recent meeting of X3J3 was that it achieved its most important objective - to finish the agreed technical work on the third draft of the standard, known as Fortran 90 - and voted 27 to 11 to forward it to its senior committee, X3, for further forwarding to ISO/SC22 to become a DIS (Draft International Standard). Once registered as a DIS in Geneva, it can be subject only to edito- rial changes and would normally become a full ISO standard six months later, after country votes on its adoption. Being Fortran, life is, of course, not quite so simple. Although the second draft standard on which this third one is based was well accepted by the public, and the third represents only relatively minor modifications to the second, X3J3 voted 22 to 13 to recommend X3 to subject it to a third period of public comment within the US. This has two consequences: * even if the comment is restricted to only those features which have changed and is handled as rapidly as possible, an inevitable delay in its final introduction as a US (as opposed to international) standard is introduced; * the door is opened to the possibility of yet further changes being made to the US standard even as the interna- tional one is being adopted! Result: three Fortran stan- dards (X3 has already decided to keep Fortran 77 as a sepa- rate standard from Fortran 90). There is little that can be done by other countries to influ- ence X3 in this regard. The other fly in the ointment is the claim that, at the last minute, a design error has been found in the way in which for- ward references to procedures are handled. Imagine that, within a module containing many procedures which contain in turn internal procedures, a reference to SIN(X) is found. Is this a reference to the intrinsic SIN function, to an internal proce- dure of the same name, or to another module procedure of the same name? If very long modules are written, it can be discov- ered very late that a wrong assumption has been made and compi- lation has to restart. The problem can be coded around by demanding truly explicit interfaces, use of the INTRINSIC or EXTERNAL statements, compiler directives, or smart compilers which make a fast first scan over the source text to get an 'overview' of what it has to do. Another solution is to alter some of the language syntax such that the problem goes away (for the compiler writer). It boils down to a com- pile-time inefficiency issue, and had been identified as such at the second Implementation Workshop which had preceded the meeting. The situation is left such that some people think the draft is flawed, while others think there is no problem (at least not a serious one). Sun, for instance, is opposed to any further change in the document. There will be an attempt to examine the issue in more detail by an ad hoc group, and this might lead to an attempt to make a technical change to the document even during the formal processing. Anyway, the big vote to forward the standard was clouded by these two issues, and there was no mood of celebration. Implementations _______________ Passing the standard is only a beginning - implementations are what the users want to see. It has been very encouraging that a second Implementation Workshop was held, at which implementers have been able to hammer out some of the implementation details. This one was attended by 55 people, with most vendors represented. The Future __________ Now that the standard is formally finished as far as X3J3 is concerned (aside from the matters described above), attention now turns to the future of the committee. It is not yet clear what the future role of X3J3 will be. It has produced Fortran 90 under old rules which no longer apply. Will the next standard be prepared by some form of international group based on ISO/SC22/WG5? Certainly many think so. And what should be the form and content of a successor standard? Can this be sen- sibly discussed before the new one is even in the field? Should there even be a new standard at all? These topics will begin to be discussed at a WG5 meeting in August, and I would be hap- py to receive any input from those of you who have views. Note that a summary of Fortran 90 is available as CN/90/06 from the Computer Science Library or JRZCN AT CERNVM. I hope we can now turn our attention to collaborating with vendors as they bring new products onto the market, and look forward to an eventual success for Fortran 90. M. Metcalf