brainerd@unmvax.unm.edu (Walt Brainerd) (08/15/89)
I mailed this to all members of X3J3; I know some of you in netland also are interested in what is going on, so am posting to you as well. We received word of the following in Vienna; I have not personally seen documents to reflect what I am reporting, but thought the X3J3 membership should know about this ASAP. I am sure Jeanne will send and official version of what is going on. X3J3 has voted consistently in opposition to both subsets and separate standards. However, based on the request of one member of X3J3, SPARC has rewritten the project proposal for Fortran 8x. The proposal makes 8x a companion standard to Fortran 77, a kind of superset. 8x would not replace F77 at all, and F77 would remain X3.9; 8x would have an X3.??? number in the 200's. One of the ironies of all this is that apparently SPARC and X3 are doing this because they think X3J3 has ignored public requests for a simpler language, but many of the same folks who want subsets are the ones who complicated the language with stuff like structures in common, namelist, DO WHILE, INCLUDE, and processor-dependent character sets. X3 and SPARC apparently were aware of the X3J3 position, just decided it was wrong. One likely effect is that ISO will drop F77 as a standard and adopt F8x, so there will be two American standard Fortrans and one of them will not be an international standard. If you have an opinion regarding this matter, you should have a serious discussion with your X3 representative as soon as possible. The ballot has already gone out to X3, closing on September 20th. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
bill@ssd.harris.com (Bill Leonard) (08/16/89)
As the person who made the request of X3 to retain F77, and since I was at the SPARC meeting for this vote, I thought interested FORTRANers might like to hear what went on from a personal observer, rather than second or third hand. Naturally, you should take this report for what it is: my own observations and interpretations of the actions of others. Any errors contained in this report are wholly mine. First, for those unfamiliar with the standards-making organizations, I'll explain who SPARC is: Standards Procedures and Rules Committee. SPARC is a subcommittee of X3, which is the part of ANSI that deals with all information-processing standards. SPARC sets the rules for Technical Committees (TC), like X3J3, and writes the project proposal that directs what the TC can, and cannot, do. First, let me say that Walt is wrong when he says that X3J3 has voted consistently in opposition to subsets and separate standards. X3J3 has been consistently *divided* on this subject! In several straw votes, X3J3 has been almost evenly divided between 1) neither subsets nor separate standards; 2) a subset; 3) a separate standard. The last vote in which I participated was 13-19 on the subject of retaining F77 as a separate standard -- hardly an overwhelming vote on either side. There were many arguments advanced at the SPARC meeting for and against doing this, but the one argument that seemed to carry the most weight was: "Let the users decide." Even those SPARC members who regard 8x as an improvement over F77 recognized that a large segment of the user community do not feel the same, and they feel it is likely that a significant number of those users would, if they had the choice, not choose 8x over F77. They further recognize that the FORTRAN user base is very large and very diverse, and that one language may not necessarily satisfy all. SPARC concluded, therefore, that users should have the choice, unbiased by governmental pressure from ANSI or NIST, between F77 and F8x. Arguments about simplicity/complexity were not much discussed at the SPARC meeting. However, the magnitude of the change from F77 to F8x was an issue, and it seemed to help convince SPARC that F8x is, in reality, a new language from F77, and should be treated thus. There are several precedents for this action. Extended Pascal was issued as a separate standard, as were Full and Minimal Basic. In particular, Extended Pascal was done as a separate standard (I am told) primarily due to concerns about the magnitude of the change. SPARC seemed to be convinced that F77 -> F8x was of much larger magnitude than Classic -> Extended Pascal. You should realize that a number of the largest users were directly represented at SPARC: Social Security Administration, DoD (several times over), Los Alamos National Labs, etc. The SPARC vote was 13-1, so it was hardly a close decision. Several SPARC members felt that this should, perhaps, have been done sooner, but given the realities of the situation, it was better done late than never. By the way, one SPARC member asked me what I thought the international community would do in response to this move. I declined to speculate on the actions of WG5 or ISO; I merely said that my impression was that opposition to F8x seemed to be much lower in other countries than in the U.S. It seems reasonable to me that, if users really are demanding the features in 8x, then retaining FORTRAN 77 will be a no-op, because they'll all be using 8x. I fail to see why the 8x proponents are opposed to giving the users the chance to choose for themselves; it seems a perfect opportunity for them to prove that 8x is better by letting it win in the marketplace, and that they don't need the big club of ANSI or ISO or the U.S. Government to make 8x a success. -- -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
brainerd@unmvax.unm.edu (Walt Brainerd) (08/19/89)
In article <BILL.89Aug15131702@hcx2.ssd.harris.com>, bill@ssd.harris.com (Bill Leonard) writes: > First, let me say that Walt is wrong when he says that X3J3 has voted > consistently in opposition to subsets and separate standards. X3J3 has > been consistently *divided* on this subject! In several straw votes, X3J3 > has been almost evenly divided between 1) neither subsets nor separate > standards; 2) a subset; 3) a separate standard. The last vote in which > I participated was 13-19 on the subject of retaining F77 as a separate > standard -- hardly an overwhelming vote on either side. As I said, X3J3 has voted consistently against (13-19 is a nice example). > It seems reasonable to me that, if users really are demanding the features > in 8x, then retaining FORTRAN 77 will be a no-op, because they'll all be > using 8x. I fail to see why the 8x proponents are opposed to giving the > users the chance to choose for themselves; it seems a perfect opportunity > for them to prove that 8x is better by letting it win in the marketplace, > and that they don't need the big club of ANSI or ISO or the U.S. Government > to make 8x a success. The objections are very simple. If the work project from the very beginning had been to develop a second standard, instead of revising and extending F77: a) Probably most of us wouldn't have bothered. "New" languages seldom succeed, whatever their virtues. b) If it had been done, a very different standard would have been developed. Fortran 8x has been kludged to death, creating some horrible messes trying to accommodate those who want to make all of the features of F77 be integrated with the new ones. Having caused this mess, now some like Bill say it should stand on its own. This can be nothing more than one more attempt to kill any effort to create a revised, modern Fortran, while using the evolutionary approach to protect the investment in current Fortran programs and programmers. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
bill@ssd.harris.com (Bill Leonard) (08/24/89)
> a) Probably most of us wouldn't have bothered. "New" languages seldom > succeed, whatever their virtues. Does that mean, Walt, that you admit that FORTRAN/8x is a new language? Retaining FORTRAN/77 does not make it so, but its content certainly may. > b) If it had been done, a very different standard would have been > developed. Fortran 8x has been kludged to death, creating some > horrible messes trying to accommodate those who want to make all > of the features of F77 be integrated with the new ones. Having > caused this mess, now some like Bill say it should stand on its own. > This can be nothing more than one more attempt to kill any effort > to create a revised, modern Fortran, while using the evolutionary > approach to protect the investment in current Fortran programs > and programmers. I must say I find it amusing that, having consistently voted against FORTRAN/8x, I am now being blamed for it. :-) I also find it odd that, having consistently voted YES numerous times on the question "Do you approve of the technical content of [latest draft]?", Walt now calls it a "kludge" and a "mess", and says he would do it differently. I find it incredible that anyone can argue for protecting "the investment in FORTRAN programs and programmers", and yet argue against retaining the one product they all currently use: FORTRAN/77. I may be one small voice crying in the wilderness, but I will always support the public's right to choose. What a radical idea for an American! -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
brainerd@unmvax.unm.edu (Walt Brainerd) (08/26/89)
In article <BILL.89Aug23142319@hcx2.ssd.harris.com>, bill@ssd.harris.com (Bill Leonard) writes: > > a) Probably most of us wouldn't have bothered. "New" languages seldom > > succeed, whatever their virtues. > > Does that mean, Walt, that you admit that FORTRAN/8x is a new language? > Hardly. Come on Bill, you know that it is just the opposite. Fortran 8x contains ALL of F77 as a subset. The biggest new feature is an extension of the idea of FORmula TRANslation to arrays. Modules are an extension of the idea of block data subprograms. Etc. Who in the world would design a "new language" and come up with this? > > ... Fortran 8x has been kludged to death, creating some > > horrible messes trying to accommodate those who want to make all > > of the features of F77 be integrated with the new ones. ... > > . . . Walt now calls it a > "kludge" and a "mess" . . . A fairly long leap, but maybe I was a bit strong. The whole thing is not a Kludge and a Mess, but parts certainly are. Some of these are due to adherence to the desirable goal of upwards compatibility with F77; others are there in the (I think) misguided attempt to integrate all old features with new ones. > > I find it incredible that anyone can argue for protecting "the investment > in FORTRAN programs and programmers", and yet argue against retaining the > one product they all currently use: FORTRAN/77. > We all used to use Fortran 66; we all used to ride in stage coaches; we all used to die at age 30. Some of us like to progress. F77 is being retained as a subset of F8x; this provides both the protection and the progress. > I may be one small voice crying in the wilderness, but I will always support > the public's right to choose. What a radical idea for an American! > People who can't see but one side of things often seem to appeal to patriotism, religion, etc. If the "right to choose" is the overriding issue here, then we should have two or three dozen "standards" for Fortran. In this case, the "right to choose" is exercised by a representative body deliberating and making a single choice ("standard"). This is another idea central to American and other democracies! -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
hankd@pur-ee.UUCP (Hank Dietz) (08/26/89)
In article <303@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >we all used to die at age 30. ^^^^^^^^^^^^^ I'm 29, so I guess I better voice my disapproval of 8X right now! ;-) >F77 is being retained as a subset of F8x; this provides both the >protection and the progress. Did I miss someone talking about a Fortran subset standard? I'd be perfectly happy if they kept Fortran 77 active as the subset dialect standard. ;-) I've talked to many folk about the standard, and the comments fall into four catagories: [1] No comment (usually, "I'm afraid to do anything because I don't want to risk offending any of our customers"). [2] I hate the 8x standard and will not use it (usually, "I've always used 66/77, and I'm not gonna rewrite the code nor retrain the programmers" but also folks like me saying "it clearly is a different language and to call it Fortran is dishonest"). [3] I like the standard because I believe it will finally kill Fortran. (Usually, "I want to see us using Ada/Modula2/C++ and all Fortran used to have going for it was that it was consistently implemented *EVERYWHERE*.) [4] I like the standard because we really needed the array extensions, although some of that other stuff.... (Heard only from X3J3 members in favor of 8x....) Most people seem to be [1] or [2]. Have others gotten similar feedback? -hankd@ecn.purdue.edu
bleikamp@convex.UUCP (Richard Bleikamp) (08/26/89)
In article <303@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >In article <BILL.89Aug23142319@hcx2.ssd.harris.com>, bill@ssd.harris.com (Bill Leonard) writes: >> Does that mean, Walt, that you admit that FORTRAN/8x is a new language? >> >Hardly. Come on Bill, you know that it is just the opposite. > ... >Who in the world would design a "new language" and come up with this? > >> > ... Fortran 8x has been kludged to death, creating some >> > ... >> >> . . . Walt now calls it a > "kludge" and a "mess" . . . > >A fairly long leap, but maybe I was a bit strong. The whole thing is not >a Kludge and a Mess, but parts certainly are. Some of these are >due to adherence to the desirable goal of upwards compatibility with F77; >others are there in the (I think) misguided attempt to integrate all old >features with new ones. Walt, why do you feel that attempting to integrate Fortran 77 features with the new 8x features (so both can be used concurrently) is a mistake? If you want to replace the Fortran 77 standard, then you need to accomodate a gradual migration to 8x features, as old programs are enhanced/updated over time. By not allowing co-existance of new and old features you`re forcing users to convert an entire sub-program at a time (if not entire programs) to the "new" form in order to utilize new 8x features. It's likely that this will slow user acceptance of 8x, except for new development. I will agree that if Fortran 77 is retained as a seperate standard, that the committee might have decided that 8x would best be used for new development and therefore could disallow certain combinations of old/new features. If Fortran 77 is retained as an ANSI standard, should X3J3 consider revising the proposed standard, or has the process dragged on too long? ------------------------------------------------------------------------------ Rich Bleikamp bleikamp@convex.com Convex Computer Corporation
brainerd@unmvax.unm.edu (Walt Brainerd) (08/26/89)
In article <12687@pur-ee.UUCP>, hankd@pur-ee.UUCP (Hank Dietz) writes: > > Did I miss someone talking about a Fortran subset standard? I'd be perfectly > happy if they kept Fortran 77 active as the subset dialect standard. ;-) > This is an alternative that makes a lot more sense than what X3 is proposing (i.e., two different standards and two different documents). X3J3 is currently conducting a poll to see whether the X3 idea of two standards or the subset idea is preferred, given that one will be forced by X3. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
brainerd@unmvax.unm.edu (Walt Brainerd) (08/26/89)
In article <1592@convex.UUCP>, bleikamp@convex.UUCP (Richard Bleikamp) writes: > Walt, why do you feel that attempting to integrate Fortran 77 features with the > new 8x features (so both can be used concurrently) is a mistake? If you > want to replace the Fortran 77 standard, then you need to accomodate a > gradual migration to 8x features, as old programs are enhanced/updated > over time. By not allowing co-existance of new and old features you`re > forcing users to convert an entire sub-program at a time (if not entire > programs) to the "new" form in order to utilize new 8x features. It's likely > that this will slow user acceptance of 8x, except for new development. > In many cases it is a good idea to allow mixing of old and new features, when it assists migration, as you suggest above. But X3J3 has lost sight of that purpose and is mixing everything, whether it helps anyone or not, making the language unduly complex, when many people are asking for it to be simpler. Let me illustrate this with a recent change: allowing structures in common. At first glance, this seems like a good candidate. Structures (sort of like Pascal records) are new and maybe there would be some reason to put one in common. Now you look up the rules and find out that you can't do this if you have any of the parameterized intrinsic data types in the structure ("short" integers, specified precision reals, Kanji or Ascii or Ebcdic characters, etc). Recent e-mail discussions among X3J3 members suggest that even these restrictions are not sufficient to make things work. So the result of the whole exercise is that you really can't mix the new stuff and the old stuff anyway, except in some very special cases. Adding the "feature" increases the complexity, but worse is the addition of strange restrictions on its use that will be very difficult for a programmer to understand or remember. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
bernhold@qtp.ufl.edu (David E. Bernholdt) (08/27/89)
In article <12687@pur-ee.UUCP> hankd@pur-ee.UUCP (Hank Dietz) writes: >I've talked to many folk about the standard, and the comments fall into four >catagories: [[ in abbreviated form... ]] > >[1] "No comment" >[2] "I hate the 8x standard and will not use it" >[3] I like the standard because I believe it will finally kill Fortran. >[4] I like the standard because we really needed the array extensions, > although some of that other stuff.... (Heard only from X3J3 members > in favor of 8x....) > >Most people seem to be [1] or [2]. Have others gotten similar feedback? > Although I couldn't afford to plunk down $50 for a copy of the draft standard (I hope somebody is listening at ANSI) and didn't see a copy until after the comment period closed, I'll give you my opinion (in brief) right here: I like it. *Many* of the additions are things that I've gone to a great deal of trouble to try to write portably in F77. They are things that I use *now*. The array additions are great -- I already use BLAS for everything possible. The array extension would make it even simpler. Did you ever try to take a code that uses calls to the double precision BLAS and run it on a machine where you work in single precision? You change all of your BLAS calls to single precision or you insert dummy routines to simply call the single precision version -- and pay for the extra subroutine call. Yes, I know that some vendors, like Cray, have a compiler switch to make everything single precision -- but that only works for variables, not subroutines! Dynamic allocation of memory is also terribly useful -- a colleague of mine wrote an entire subroutine library to handle this in F77 by making calls to the appropriate (and very diverse) system routines that handle this on various machines and enforcing a special calling structure in programs (i.e. calls to anything that wants to use an allocated array must go through an intermediate routine which allocates the array and passes it in to the real routine). This is just one of the many things that 8x would make automatic and *PORTABLE*!!!!! In addition, the source format changes, the new control constructs, new I/O capabilities, new intrinsic functions, are all very useful. I won't go into any more details...you get the idea. So there you have it, at least one person in the world in favor of 8x. Maybe if I can get a good look at the new draft, I can put this in writing to the committee... -- David Bernholdt bernhold@qtp.ufl.edu Quantum Theory Project bernhold@ufpine.bitnet University of Florida Gainesville, FL 32611 904/392 6365
psmith@mozart.uucp (Presley Smith) (08/28/89)
In article <303@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >In article <BILL.89Aug23142319@hcx2.ssd.harris.com>, bill@ssd.harris.com (Bill Leonard) writes: >> > a) Probably most of us wouldn't have bothered. "New" languages seldom >> > succeed, whatever their virtues. >> >> Does that mean, Walt, that you admit that FORTRAN/8x is a new language? >> >Hardly. Come on Bill, you know that it is just the opposite. >Fortran 8x contains ALL of F77 as a subset. The biggest new feature is >an extension of the idea of FORmula TRANslation to arrays. Modules are >an extension of the idea of block data subprograms. Etc. Who in the >world would design a "new language" and come up with this? Okay Walt... If Fortran 8x contains ALL of F77 as a subset, why did the committee vote at the February meeting, 32,0,2, to change the introduction of the proposed standard, introduction page i line 7 and 8 FROM: "Any standard-conforming FORTRAN 77 program is standard conforming under this standard, with the same interpretation." ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TO: "Any standard-conforming FORTRAN 77 program is standard conforming under this standard." Gives one a real warm feeling that if a program is standard conforming under FORTRAN 77 it will execute under Fortran 8x, BUT it's POSSIBLE that it will get a different answer or that the programmer will have to change the program to get it to execute in the same manner as it did on FORTRAN 77. Hum... "Fortran 8x contains ALL of F77 as a subset" you claim? Read on... What about the vote in X3J3 on Document 58, 111-RRR-12, "Extra Precision option for DATA statement", that was DEFEATED on a role call vote by 24-13? To quote from document 111-RRR-12: "The committee (X3J3), in a previous action, REMOVED the Fortran 77 permission for processor to supply extra precision. Comment 338.44 deplores the "extra precision" feature of Fortran 77. Comment 518.24 suggests that the Fortran 77 rule must remain in order to be UPWARD COMPATIBLE from Fortran 77. In particular, standard conforming programs executing on standard conforming Fortran 77 processors will NO LONGER EXECUTE the same way in Fortran 8x. Distasteful as the rule may be the committee should recognize that removing it creates this situation. If this is the intent, it should be explicitly stated." The committee has voted by rejecting 111-RRR-12 to STATE that programs which use this Fortran 77 feature will NO LONGER EXECUTE THE SAME WAY in Fortran 8x. 111-RRR-12 was proposal to ADD this feature back into the Fortran 8x language for upward compatibility. It was defeated. Still think "Fortran 8x contains ALL of F77 as a subset"??? How many other examples are there? NO ONE KNOWS! This standard has become so large and complex, that I'm not convinced today that there are not many other places where language incompatibilities have been introduced between FORTRAN 77 and Fortran 8x. I don't believe that a proper audit has been conducted on this current document out for public review to insure that FORTRAN 77 is still contained in it and that programs that are standard conforming on FORTRAN 77 will still be standard conforming on Fortran 8x and will produce the same results on Fortran 8x. Anyone who believes all of FORTRAN 77 is still in 8x and that their FORTRAN 77 programs will execute without change on a FORTRAN 8x compiler are in for a SHOCK! You asked another good question Walt... who would design a "new language" and come up with this? Maybe you'd like to answer that one in another article on the net. > >> > ... Fortran 8x has been kludged to death, creating some >> > horrible messes trying to accommodate those who want to make all >> > of the features of F77 be integrated with the new ones. ... >> >> . . . Walt now calls it a > "kludge" and a "mess" . . . > >A fairly long leap, but maybe I was a bit strong. The whole thing is not >a Kludge and a Mess, but parts certainly are. Some of these are >due to adherence to the desirable goal of upwards compatibility with F77; >others are there in the (I think) misguided attempt to integrate all old >features with new ones. It's true... certain parts are a kludge and a mess. Does the FORTRAN community want want to live for the next 10 YEARS with a Fortran that is a "kludge" and a "mess" with NO other FORTRAN standard available? That's the CHOICE that is being made IF we don't keep FORTRAN 77 ALIVE and WELL as an ACTIVE standard until the Fortran 8x "mess" is cleaned up. Cleaning up FORTRAN 8x could take several years and another round of public review. I would encourage EVERYONE to write to X3 concerning the NEED to keep FORTRAN 77 as an ACTIVE standard until this "mess" is cleaned up. Walt is one of the members of X3J3 that has supported the proposed 8x standard for years and voted "YES" on this standard as a replacement for FORTRAN 77. If he believes it's been "kludged to death", it certainly makes me worry... If you are concerned about upward compatibility, send your letters of concern about upward compatibility and this "mess" of Fortran 8x to: Fortran Public Review X3/CBEMA 311 First St NW Suite 500 Washington DC 20001-2178 >> >> I find it incredible that anyone can argue for protecting "the investment >> in FORTRAN programs and programmers", and yet argue against retaining the >> one product they all currently use: FORTRAN/77. >> >We all used to use Fortran 66; we all used to ride in stage coaches; >we all used to die at age 30. Some of us like to progress. >F77 is being retained as a subset of F8x; this provides both the >protection and the progress. > >> I may be one small voice crying in the wilderness, but I will always support >> the public's right to choose. What a radical idea for an American! >> >People who can't see but one side of things often seem to >appeal to patriotism, religion, etc. If the "right to choose" is the overriding >issue here, then we should have two or three dozen "standards" for Fortran. >In this case, the "right to choose" is exercised by a representative >body deliberating and making a single choice ("standard"). This is another >idea central to American and other democracies! It's unclear to me that the "representative body" is listening to the concerns of the FORTRAN community. When I meet with my customers, I get words like "our representatives are nothing but 'professional meeting attenders' and that they 'listen to the users, IGNORE them, and then vote the way they (the committee members) want'." (Direct quote from a company from the UK last week.) When I look at the previous public review, I note that many thought the proposed standard was too complicated, to large, etc. The committee removed a 'token' set of features and then added more features to it making the resulting standard that is out for public review LARGER than the previous public review version. Fortunately, the US standards process in the IS a democracy. The PUBLIC does count. Every comment is important. (Even though X3J3 has yet to send answers to people who commented in the first public review...) The fact that X3J3 has NOT yet responded to the first public review is certainly a HOT topic in the groups that MANAGE X3J3. Those groups ARE willing to listen to your comments. No one should confuse X3J3's failure to respond, in a timely manner, to the first public review comments as REQUIRED by the ANSI rules, as a signal that ANSI is NOT concerned about this situation. There is much concern at the X3 committee and above and there is great pressure on X3J3 to comply with the rules. So, send your letters to X3 and X3J3. In this country, EVERYONE has the right to have a opinion on this proposed standard and someone in the ANSI process will review ALL letters that are sent in. And, eventually, you WILL get a response... AND, if you don't like the response, YOU have the right to appeal to the higher ANSI groups as is being done right now with the ANSI C standard. So, send in your letters and express your opinions... Walt and I seldom agree on anything... BUT, I certainly agree with him on this... It's a kludge and a mess!
brainerd@unmvax.unm.edu (Walt Brainerd) (08/28/89)
In article <1598@convex.UUCP>, psmith@mozart.uucp (Presley Smith) writes: > > Okay Walt... If Fortran 8x contains ALL of F77 as a subset, why did the > committee vote at the February meeting, 32,0,2, to change the introduction > of the proposed standard, introduction page i line 7 and 8 > > FROM: > > "Any standard-conforming FORTRAN 77 program is standard > conforming under this standard, with the same interpretation." > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > TO: > > "Any standard-conforming FORTRAN 77 program is standard > conforming under this standard." > > Gives one a real warm feeling that if a program is standard conforming > under FORTRAN 77 it will execute under Fortran 8x, BUT it's POSSIBLE that it > will get a different answer or that the programmer will have to change > the program to get it to execute in the same manner as it did on FORTRAN 77. > Hum... "Fortran 8x contains ALL of F77 as a subset" you claim? Read on... > Page i is not part of the standard, so it doesn't matter, but I don't know why it was changed. Page 1-2 of the STANDARD, lines 37-39 say "Any standard-conforming Fortran 77 program remains standard conforming under this standard, with the same interpretation;" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ so I guess we don't have to worry about that one. > What about the vote in X3J3 on Document 58, 111-RRR-12, "Extra Precision > option for DATA statement", that was DEFEATED on a role call vote by 24-13? > To quote from document 111-RRR-12: > > "The committee (X3J3), in a previous action, REMOVED the Fortran 77 > permission for processor to supply extra precision. > > Comment 338.44 deplores the "extra precision" feature of Fortran 77. > > Comment 518.24 suggests that the Fortran 77 rule must remain in order > to be UPWARD COMPATIBLE from Fortran 77. In particular, standard > conforming programs executing on standard conforming Fortran 77 > processors will NO LONGER EXECUTE the same way in Fortran 8x. > Distasteful as the rule may be the committee should recognize that > removing it creates this situation. If this is the intent, it > should be explicitly stated." > I personally was in favor of retaining the F77 wording for just the reasons stated, so perhaps we do agree on one thing. However, in a legalistic sense, it is editorial because there is nothing in the standard the controls anything about how much precision a real number has. Though there is the possibility that some implementor could use this as an excuse to change somethine, there is no requirement to do so and I doubt that anyone would > > Still think "Fortran 8x contains ALL of F77 as a subset"??? How many > other examples are there? NO ONE KNOWS! > So far we have zero examples. > > Walt and I seldom agree on anything... BUT, I certainly agree with him on > this... It's a kludge and a mess! I guess we still don't agree on this. My words were that it is NOT a kludge and a mess, but some parts of it are. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
psmith@mozart.uucp (Presley Smith) (08/28/89)
In article <308@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >In article <1598@convex.UUCP>, psmith@mozart.uucp (Presley Smith) writes: >> Walt is right... It was only changed in one place, in the introduction, which now reads: "Any standard-conforming FORTRAN 77 program is standard conforming under this standard." >Page i is not part of the standard, so it doesn't matter, but I don't >know why it was changed. Page 1-2 of the STANDARD, lines 37-39 say >"Any standard-conforming Fortran 77 program remains standard conforming >under this standard, with the same interpretation;" > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Now, it makes one wonder why it was changed in one place and not the other. If you look at page 1-2, you find a list of incompatibilities that are known. In fact, if Walt... let me finish the sentence that you quoted from 1-2. It says: "Any standard-conforming Fortran 77 program remains standard conforming under this standard, with the same interpretation; however, see 1.4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ regarding intrinsic procedures." The same paragraph goes on to say: "The following FORTRAN 77 features have different interpretations in this standard:" and lists 4 different items: 1. Processor supplied precision derived from a real constant. 2. The named variable in a DATA statment without the SAVE attribute. 3. Differences with padding in input records. 4. The fact that there are additional intrinsic functions in 8x that might conflict with user defined functions. If it doesn't matter, why was it changed? I worry that the committee just missed the one on page 1-2 and will remove it as part of the editorial changes that are being done at the current time on the document that is out for public review. For anyone that does not know, the committee is in the process of making editorial changes to the document that is out for public review. No additional functionality is allowed, but the committee is now trying to fix problems in the proposed standard while it's being reviewed... So... what you see in public review may not be the final document. >> >> Still think "Fortran 8x contains ALL of F77 as a subset"??? How many >> other examples are there? NO ONE KNOWS! >> >So far we have zero examples. The standard documents all the KNOWN examples in 1.4.1. In this complex document, I expect that implementers will find several more when someone really attempts to implement this...
jerry@violet.berkeley.edu ( Jerry Berkman ) (08/29/89)
In article <1598@convex.UUCP> psmith@convex.com (Presley Smith) writes: > >What about the vote in X3J3 on Document 58, 111-RRR-12, "Extra Precision >option for DATA statement", that was DEFEATED on a role call vote by 24-13? >To quote from document 111-RRR-12: > > "The committee (X3J3), in a previous action, REMOVED the Fortran 77 > permission for processor to supply extra precision. > > Comment 338.44 deplores the "extra precision" feature of Fortran 77. > > Comment 518.24 suggests that the Fortran 77 rule must remain in order > to be UPWARD COMPATIBLE from Fortran 77. ... > The extra precision rule allows the processor to chose whether to supply the precision written in the program for constants or to supply more precision. I have run the following program on several machines with different results, and on the same machine with two different compilers with different results. double precision d, extpr real x data d/0.1d0/, extpr/0.1/ x/0.1/ call compare( 'data', d, extpr, x ) d = 0.1d0 extpr = 0.1 x = 0.1 call compare( 'assignment', d, extpr, x ) end subroutine compare( str, d, extpr, x ) character str*(*) double precision d, extpr real x if( extpr.eq.d ) then print *, str, ' using extended precision' else if ( extpr.eq.x ) then print *, str, ' no extended precision' else print *, str, ' *** error ***' endif if ( d.eq.x ) print *, str, ' *** precision doesn''t matter *** ' end Results: use extra precision: DEC Fortran (VMS or Ultrix) and Sun's f77 don't use ext. precis: BSD VAX f77, IBM's VS FORTRAN, Cray's CFT & CFT77 The 1977 standard, page 9-2, lines 14-17, states about DATA statments: "if an nlist entity is of type double precision and the clist constant is of type real, the processor may supply more precision derived from the constant than can be contained in a real datum." I can find no justification for extra precision in assignment statements, although I may have overlooked it. Presley Smith continues: >The committee has voted by rejecting 111-RRR-12 to STATE that programs >which use this Fortran 77 feature will NO LONGER EXECUTE THE SAME WAY >in Fortran 8x. 111-RRR-12 was proposal to ADD this feature back into >the Fortran 8x language for upward compatibility. It was defeated. The problem already exists; we don't need to wait for Fortran 8x. A program can not select whether or not to use the extra precision feature; the processor chooses. I.e. "using" extra precision is sort of like using the fact that files are opened at their beginning. In both cases, you are depending on something not standardized. I don't really care which way the processor does it, but I want them all to do it the same way. It's ridiculous that some standard conforming programs running on a VAX will only run with DECs compiler and others only with the BSD compiler. - Jerry Berkman, Central Computing Services, U.C. Berkeley
khb@road.Sun.COM (Keith Bierman - Advanced Languages - Floating Point Group ) (08/29/89)
In article <1598@convex.UUCP> psmith@convex.com (Presley Smith) writes: > > stuff about f77 codes not running under f8x compilers ... >What about the vote in X3J3 on Document 58, 111-RRR-12, "Extra Precision >option for DATA statement", that was DEFEATED on a role call vote by 24-13? >To quote from document 111-RRR-12: > > "The committee (X3J3), in a previous action, REMOVED the Fortran 77 > permission for processor to supply extra precision. > > Comment 338.44 deplores the "extra precision" feature of Fortran 77. > > Comment 518.24 suggests that the Fortran 77 rule must remain in order > to be UPWARD COMPATIBLE from Fortran 77. In particular, standard > conforming programs executing on standard conforming Fortran 77 > processors will NO LONGER EXECUTE the same way in Fortran 8x. > Distasteful as the rule may be the committee should recognize that > removing it creates this situation. If this is the intent, it > should be explicitly stated." > >The committee has voted by rejecting 111-RRR-12 to STATE that programs >which use this Fortran 77 feature will NO LONGER EXECUTE THE SAME WAY >in Fortran 8x. 111-RRR-12 was proposal to ADD this feature back into >the Fortran 8x language for upward compatibility. It was defeated. My experience in porting many large codes amongst machines from over 20 different vendors is that codes which rely on this feature (and most of the others brought up in debate) are, in fact, not portable now. Users who have _never_ moved their code off the first processor it was coded on _may_ be bitten by this (very rarely, I suspect). Those that moved vendors, or processors (e.g. cdc 7600 to cyber 180) or even compilers (cft 114 -> cft77) are likely to have purged their code of anything similar to this (or simply not care that answers don't match digit for digit ... in fp codes that is an unreasonable test anyway). > >... push for letter writing campagin for two standards.... If you are concerned about having any reasonable chance to write your code in a language which allows for better libraries, easier to use programatic interfaces, and have a reasonable expectation of having your code port write to: > > Fortran Public Review > X3/CBEMA > 311 First St NW > Suite 500 > Washington DC 20001-2178 As being against there being 2 standards. Note that the opponents of the new standard are nearly all in favor of 2 standards, but few (if any) will change their vote against the new standard (poll taken privately and during debate at the Long Island meeting) to For if there is a f77 standard. It is _possible_ that having two standards will somehow promote something ... but the only clear outcome _I_ can see is maintance of the status quo and freezing fortran development for some years. Keith H. Bierman |*My thoughts are my own. !! kbierman@sun.com It's Not My Fault | MTS --Only my work belongs to Sun* I Voted for Bill & | Advanced Languages/Floating Point Group Opus | "When the going gets Weird .. the Weird turn PRO"
psmith@mozart.uucp (Presley Smith) (08/30/89)
In article <123897@sun.Eng.Sun.COM> khb@sun.UUCP (Keith Bierman - Advanced Languages - Floating Point Group ) writes: > >If you are concerned about having any reasonable chance to write your >code in a language which allows for better libraries, easier to use >programatic interfaces, and have a reasonable expectation of having >your code port (remainder removed...) I think the information that continues be missed in these debates is that there is NO MAGIC in Fortran 8x. There have been a LOT of new facilities created (and not yet implemented by anyone...) to do many of the things that Keith says... but it's NOT FOR FREE. To use the new facilities, YOU will have to modify and, in some cases, rewrite your code. When you do that, you are either going to go with: 1. A more "pure" Modern Fortran 8x STYLE in which case, you will probably rewrite major portions of your code, OR 2. You are going to use a MIXTURE of Fortran 8x and FORTRAN 77/66 and will live with any problems such a mixture may bring. If you mix FORTRAN 77 and Fortran 8x, then the quote from a previous article by Walt Brainerd applies: "If it had been done (Fortran 8x as a separate standard), a very different standard would have been developed. Fortran 8x has been kludged to death, creating some horrible messes trying to accommodate those who want to make all of the features of F77 be integrated with the new ones." So, mixing of FORTRAN 77 and Fortran 8x is not without it's problems. (Just a side note for those of you who don't know... Walt Brainerd is one of the officers of the X3J3 committee. He's the director of "Technical Work and Language Integration.") If you are going to rewrite your code into the more Modern Fortran 8x, then you have the situation that one of my users found when he read the proposed standard: "My first impression after reading through the proposed standard is that this 'Fortran' is a language with which I am not familiar. There have been so many additions to the language that I think it would be possible to write a standard conforming program that an experienced Fortran programmer would have difficulty recognizing." So, producing pure Modern Fortran 8x programs is not without it's problems either. I know of several companies that are evaluating what language they will be using in new development and some of them are turning to C and Ada because of Fortran 8x. Not because the standard is late, but because it is a new language and in order to really use the new features, they must make significant changes in their source codes anyway. Faced with having to do major work on their code anyway to use the new features of Fortran 8x, some are currently planning to rewrite their codes in C or Ada instead. You should try Ada, Keith. You'd love it and it's available today. You don't have to wait for Fortran 8x. Ada was DESIGNED to have all the capabilities you want in FORTRAN. They were not ADDED ON as in Fortran 8x. In Ada, all the features are integrated and all work as one language.
khb@road.Sun.COM (road) (08/30/89)
In article <1624@convex.UUCP> psmith@convex.com (Presley Smith) writes: > > horror stories about using f8x with f77 existing code ... >So, producing pure Modern Fortran 8x programs is not without it's >problems either. When I first started tracking the standard effort in '85 I took the overview then being presented by the chair, the co-chair and misc. luminaries at ACM '85 and dummied up nice interfaces to the library I was then involved in supporting. Everyone who saw the new interface wanted it, and wanted it yesterday. The only changes necessary were to the variable declarations. No changes to the body of the code was required. I do not believe that it will be very difficult to move the vast majority of existing codes to f8x ... I have only seen a few million lines, so perhaps I am missing something. .... >some are currently planning to rewrite their codes in C or Ada >instead. Those of us who have tried the exercise see a good slowdown from 20% to 500% depending on machine. > > >You should try Ada, Keith. You'd love it and it's available today. I have. I do not think it suitable for mathematical programming, such as I used to specialize in. > >Ada was DESIGNED to have all the capabilities you want in FORTRAN. Not by a long shot. Furthermore features that it should have for real time programming simply don't work (try to write code which executes every 100ms, say. Or take Guy Steele's old challenge to write a correct device driver). >They were not ADDED ON as in Fortran 8x. In Ada, all the features are >integrated and all work as one language. F8x as it existed in 1985 was much more suited to my needs. As it stands it is still much better than Ada. Keith H. Bierman |*My thoughts are my own. !! kbierman@sun.com It's Not My Fault | MTS --Only my work belongs to Sun* I Voted for Bill & | Advanced Languages/Floating Point Group Opus | "When the going gets Weird .. the Weird turn PRO"
brainerd@unmvax.unm.edu (Walt Brainerd) (08/30/89)
Here are some opinions I think should be of interest to this group regarding the recent discussion of two standards. This was sent by e-mail to all of X3J3 from JKING%MILO.Dec.Net@VM53.MACC.WISC.EDU ------------------------------------------------------------------- From: PHENOC::LONG "Bill Long" 29-AUG-1989 13:12:36.17 To: MILO::JKING CC: Subj: dual standards Hi Joe, Thanks for the copy of your dual standards letter. I hope this gets resolved (correctly) soon. Below I have appended the section from my commentary letter on the subject. It contains the same conclusions, but from a somewhat different perspective, and in my 'less diplomatic' language. I feel the section on teaching Fortran is especially important and has been ignored. If you want, you are welcome to circulate this message. Bill --------------------------------------------------------------------------- \sectionhead{V. Dual Standards} Separate from the current proposal, I would like to address an ongoing topic of the option of having two separate standards, one for Fortran 77 and another for 8X. Most of the discussion I have seen to date centers on the views of either vendors or the apparatus of standards formulation. My perspective is that of an active Fortran user in an academic setting. From this vantage point, the concept of a dual standard seems disastrous for several reasons. \subhead{User options.} The 8X proposal allows users to continue writing programs using only 77 features if they so choose. No one looses anything by replacing the 77 standard with 8X. Stick-in-the-mud programmers can stay stuck while those of us who want the new features can have them. \subhead{History.} One of the greatest virtues of Fortran is its dynamic nature. A language survives as long as Fortran has only by evolving and adopting new features to ``keep up with the times''. Well written, modern Fortran code would not be recognized as Fortran by someone from 1955. The current complaints about 8X are reminiscent of the mentality that claimed the sky would fall if such redundant and silly constructs as blocked-if or character variables were included in the 77 standard. Some of the current nay-sayers are as myopic as those twelve years ago. They might even be the same people! \subhead{Fortran teaching.} In its current state, computer science departments avoid teaching Fortran, preferring C or Pascal. In fact, use of Fortran is intentionally and vigorously discouraged as its an ``ancient'' and ``obsolete'' language. It does not bother me that the CS people do not use Fortran themselves. However, they have (and use) the power to block the physics department from teaching Fortran. Their own token Fortran course is negative in its presentation and pathetic in its content. The effects of these attitudes are starting to hit home. A whole generation of incoming physics graduate students do not know Fortran, a situation unimaginable only 5 years ago. The 8X proposal addresses and eliminates almost all grounds for the complaints of the computer science priesthood. They might even be willing to teach 8X rather than trying to assure the extinction of Fortran. Corporations and laboratories who hope to hire Fortran-literate scientists and engineers in the future should seriously consider this point and aggressively support the adoption of 8X. The pipeline is drying up rapidly. \subhead{Code portability.} The retention of the 77 standard will only encourage vendors to make their extensions to 77 ever more proprietary. This may boost the morale of their sales forces and fatten the bottom line in the near term, but it does the user a great disservice and defeats the whole concept of a standard. If there are two standards, will all vendors support both? Especially when the initial implementation of 8X will cost money? Which language will be ``Fortran''? \subhead{The cow.} The beneficiaries of adopting 8X are thousands, perhaps millions, of potential users. The beneficiaries of retaining 77 are vendors who can milk the 77 cash cow for a few more years. The committee has dangled an enticing vision of the future in front of the user community. I think the vendors under estimate the hostility users will show if there is continued resistance to 8X. A responsible vendor who can look beyond this quarter's financial report should have already started to implement 8X features as extensions to their current 77 compilers. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
bobal@microsoft.UUCP (Bob Allison) (08/31/89)
>In article <308@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >>In article <1598@convex.UUCP>, psmith@mozart.uucp (Presley Smith) writes: > >Walt is right... It was only changed in one place, in the introduction, which >now reads: > Yeah, when Walt mentioned that, I ran around and checked the minutes and the action was never even recorded. I was there, and the intent was clearly to remove that phrase from the draft. Whoever suggested the wording messed up. It should be a simple editorial change to fix up, especially in light of the fact that later in the paragraph it shows examples of places where standard-conforming 77 programs do not have the same interpretation. They also missed the new specification that leading zeroes are insignificant in STOP and PAUSE statements (I know, big deal). I'll have to sit down and think about it, but I feel like there were others also. The change to page i was in response to allowing the change in interpretation of constants in DATA statements. Jerry Berkman has indicated that he prefers such changes, since they reduce the number of uncertainties when coding and I agree. However, I still feel (and yes, I am being picky) that these changes disqualify any attempt to make FORTRAN 77 a subset of Fortran 8x. It isn't a political point of view, but rather a technical one: FORTRAN 77 is not a proper subset of 8x. It is a political solution to make it a subset, in the face of evidence to the contrary. > >The standard documents all the KNOWN examples in 1.4.1. In this complex >document, I expect that implementers will find several more when someone >really attempts to implement this... > Oh, no doubt. That doesn't mean the changes weren't for the better; most of the time they will have been. Keith Bierman noted that most of the people in favor of keeping 77 as a standard will continue to vote NO on 8x. I feel it really hasn't been put to the test yet, and honestly believe that I would be in favor of more radical changes if I knew 77 was still going to be a standard. Most of my concern with 8x is that it is a very different, very new language being forced on people who have no other choice if they currently code in 77. It may be true that keeping 77 will slow down production of 8x compilers, but I'm not sure I believe it. Vendors who don't want to produce an 8x compiler won't do so until market pressure becomes intense. Companies like Sun, who are hungry and tend to try to embrace standards up front, will still produce an 8x compiler. People will either embrace 8x compilers and force everyone else aboard, or not. The presence of 77 as a standard doesn't really seem to affect that much, unless 8x is a bomb. In which case it is a very welcome island of stability and portability. Bob Allison
psmith@mozart.uucp (Presley Smith) (08/31/89)
In article <123964@sun.Eng.Sun.COM> khb@sun.UUCP (road) writes: >In article <1624@convex.UUCP> psmith@convex.com (Presley Smith) writes: >> >> horror stories about using f8x with f77 existing code ... > I said: "To use the new facilities, YOU will have to modify and, in some cases, rewrite your code." I don't believe that translates to "horror stories about using f8x with f77 exiting code..." If you are going to respond to what I said, please at lease quote what I said correctly!!!! What I said corresponds very well with what you said: >The only changes necessary were to >the variable declarations. No changes to the body of the code was >required. You DID have to change the code! You did NOT have to rewrite the code. >I do not believe that it will be very difficult to move the vast >majority of existing codes to f8x ... I have only seen a few million >lines, so perhaps I am missing something. If you want to keep the code in FORTRAN 77 syntax, then there are NO changes to be made. If you want to use modules, array notation, pointers or many of the other 8x features, then YOU are going to have to rewrite at least portions of your code. Those are the facts. > >.... >>some are currently planning to rewrite their codes in C or Ada >>instead. > >Those of us who have tried the exercise see a good slowdown from 20% >to 500% depending on machine. > Sounds like you have a problem in your compilers. We see no slowdown on our machine in executable code that is well written in either C or Ada. We see a slowdown in compiler speed in Ada due to the dependent compilation model (similar to 8x modules) but again, no slowdown in the executable code. >> >>You should try Ada, Keith. You'd love it and it's available today. > >I have. I do not think it suitable for mathematical programming, such >as I used to specialize in. We have customers who are very successfully using Ada in "mathmetical programming." In fact Ada math libraries are available from several companies including QTC in Oregon that work quite well. >> >>Ada was DESIGNED to have all the capabilities you want in FORTRAN. > >Not by a long shot. Furthermore features that it should have for real >time programming simply don't work (try to write code which executes >every 100ms, say. Or take Guy Steele's old challenge to write a >correct device driver). I don't believe that Fortran 8x solves the realtime problems... What in Fortran 8x addresses the realtime problem? I certainly would NOT write a device driver in FORTRAN 77 or FORTRAN 8x. FORTRAN is NOT a language that is suited to writing device drivers. Most people write device drivers in C or assembly langauge. You just made the argument above the Ada was not suitable for mathematical programming... why do you think that Fortran, the FORmula TRANSlation language, is suitable for writing device drivers? Why would we WANT FORTRAN to be suitable for writing device drivers??? >>They were not ADDED ON as in Fortran 8x. In Ada, all the features are >>integrated and all work as one language. > >F8x as it existed in 1985 was much more suited to my needs. As it >stands it is still much better than Ada. My Ada group does not feel that Fortran 8x is better than Ada, but I guess that's getting into the area of religion. Everyone to their right to their own opinion on the subject. Keith, maybe you could implement that 1985 version of Fortran 8x and then you'd be happy...
psmith@mozart.uucp (Presley Smith) (08/31/89)
In article <7560@microsoft.UUCP> bobal@microsoft.UUCP (Bob Allison) writes: >>In article <308@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: >>>In article <1598@convex.UUCP>, psmith@mozart.uucp (Presley Smith) writes: >> >>Walt is right... It was only changed in one place, in the introduction, which >>now reads: >> > >Yeah, when Walt mentioned that, I ran around and checked the >minutes and the action was never even recorded. I was there, and the >intent was clearly to remove that phrase from the draft. Whoever >suggested the wording messed up. It should be a simple editorial change >to fix up, especially in light of the fact that later in the paragraph >it shows examples of places where standard-conforming 77 programs do not >have the same interpretation. They also missed the new specification that >leading zeroes are insignificant in STOP and PAUSE statements (I know, >big deal). I'll have to sit down and think about it, but I feel like >there were others also. Bob, I had not researched this, but made a note at the time that this was a change in the upward compatibility position. In looking through my files I find this vote for this came on 2/17/89 at the Palo Alto meeting. It's clear that the person making the changes to the proposed standard after that meeting failed to pick up part of the wording that was changed. The change comes from the December 1988 Letter Ballot Comments generated by Len Moss of SLAC. His proposal I on page 72 of the Chair's Ballot on S8.110 contains several parts per this summary: O.1 i/8: Delete ",with the same interpretation". [The new MVBITS and RANDOM intrinsic subroutines could change the interpretation of a program and were not covered by the caveat in the section notes... ETC. ... 1-1/7-8: Delete ",with the same interpretation...regarding intrinsic procedures". THIS WAS THE CHANGE THAT WAS NOT MADE... 1-2/21: Change "procedures" to "functions" and after "FORTRAN 77" add ",and for the first time in Fortran introduces several intrinsic subroutines". These edits would have been applied to the S8.110 version of the document and then edited by the editorial committee at some point before the S8.112 document, which is the document that is out for public review, was produced. This vote was part of the vote on the summary in document 112, "Chairs Ballot Comments, X3J3/234 Adoption Recommended by Ad Hoc Group", approved by a vote of 32-0-2. This vote was taken at approximately 9:00 AM on 2/17/89 in Palo Alto. You're certainly right. It's just a failure to make the changes in the document as passed by the committee. >>The standard documents all the KNOWN examples in 1.4.1. In this complex >>document, I expect that implementers will find several more when someone >>really attempts to implement this... >> > This is just one case where the document does not conform to what the committee voted to do. Makes me worry that FORTRAN 77 may not be contained in this document in its original form. Changes in wording or mistakes made in changing the document may have introduced other incompatibilities even by mistake...
hirchert@uxe.cso.uiuc.edu (08/31/89)
Walt Brainerd and Presley Smith are engaged in an argument about whether FORTRAN 77 is a true subset of Fortran 8x. Allow me to try to clarify the situation: Fortran 8x is a superset of FORTRAN 77 in the following sense: A standard- conforming Fortran 8x processor should interpret any program in a manner consistent with the requirements of FORTRAN 77. Implicit is the above are two limitations: 1. It was possible under FORTRAN 77 for a program to be standard conforming on one processor, but not standard conforming on another. The classic example of this is a program which uses an external function without specifying it in an EXTERNAL statement. If such a program is moved to a processor where that particular function name has been made an intrinsic, the new processor will interpret those function references as references to its processor-dependent intrinsic and thus conclude that the program does not conform to FORTRAN 77. In such cases, it is possible that the program will not be regarded as standard conforming by any Fortran 8x processor and/or the program may have a different interpretation because of the differing semantics of the added intrinsic functions. 2. There are cases where FORTRAN 77 gave a conforming processor a choice of interpretations and Fortran 8x may be more limiting. For example, there are situations involving the ends of files that in FORTRAN 77 could have been interpreted as errors but that in Fortran 8x must raise the end-of-file condition. All interpretations allowed by Fortran 8x are also allowed by FORTRAN 77, but not all interpretations allowed by FORTRAN 77 are also allowed by Fortran 8x. The above two limitations are the reason a FORTRAN 77 program cannot be guaranteed to have the same interpretation when run on a Fortran 8x -- it may not have been possible to guarantee that they would have the same interpretation when run on another FORTRAN 77 processor! In other words, truly portable FORTRAN 77 programs will remain portable in Fortran 8x, but if a program has exploited the processor-dependent aspects of FORTRAN 77, then it is possible that the same processor-dependent behavior will not be available and the program will fail under Fortran 8x. The examples cited from section 1.4.1 are _not_ example of incompatibilities between FORTRAN 77 and Fortran 8x; they _are_ examples of places where a Fortran 8x processor might be forced to behave differently from an existing FORTRAN 77 processor based on the same hardware. I agree with Presley that the words "with the same interpretation" should not appear in section 1.4.1. Fortran 8x can guarantee the same interpretation only in those cases where FORTRAN 77 guaranteed that two different FORTRAN 77 processors would have the same interpretation. Nevertheless, the assertion remains that there are no known examples of programs where FORTRAN 77 processors would be required to have the same interpretation, but a Fortran 8x processor would have a different interpretation. Presley, are you aware of any examples that contradict _this_ assertion? (As stated above, the examples in 1.4.1 do not qualify.) Kurt W. Hirchert hirchert@ncsa.uiuc.edu National Center for Supercomputing Applications
khb@road.Sun.COM (Keith Bierman - Advanced Languages - Floating Point Group ) (08/31/89)
In article <1631@convex.UUCP> psmith@convex.com (Presley Smith) writes: >>> horror stories about using f8x with f77 existing code ... >> > >I said: "To use the new facilities, YOU will have to modify and, >in some cases, rewrite your code." I don't believe that translates >to "horror stories about using f8x with f77 exiting code..." > >If you are going to respond to what I said, please at lease quote what >I said correctly!!!! As per the "rules" promulgated by the net I tried to abbreviate several paragraphs into a single sentence. I trust most net readers to understand the process. > >What I said corresponds very well with what you said: > >>The only changes necessary were to >>the variable declarations. No changes to the body of the code was >>required. > >You DID have to change the code! You did NOT have to rewrite the code. My users did not have to change THEIR code. That is the point. All of the new features were completely hidden to those who did not wish to partake. This allows evolutionary code development. >>>instead. >> >>Those of us who have tried the exercise see a good slowdown from 20% >>to 500% depending on machine. >> > >Sounds like you have a problem in your compilers. We see no slowdown It has been a bit since I did the experiment on your hardware, but as reccently as a year ago this was quite true on convex gear. There are, in fact, semantics which if properly maintained reduce the optimizability of C. The convex compiler, at high enough optimization levels (like many other machines ... soon perhaps suns :>) cheerfully breaks C semantics. >We have customers who are very successfully using Ada in "mathmetical >programming." In fact Ada math libraries are available from several >companies including QTC in Oregon that work quite well. I do not assert that it is impossible, it simply does not solve any problem not solved better by f8x. The key difference is that, as described above, f8x allows gradual migration. Conversion of a project to Ada requires a very hefty investment. >> >I don't believe that Fortran 8x solves the realtime problems... What >in Fortran 8x addresses the realtime problem? f8x doesn't ... but that isn't why f8x was designed. Ada was explicitly designed to be employed in real-time embedded systems. While Ada is a good language, it isn't all that hot for the application area it was chartered to work in. >..... >language, is suitable for writing device drivers? Why would we WANT >FORTRAN to be suitable for writing device drivers??? I don't think f8x is suitable for device drivers. I never asserted that it was. I suggest you take your own advice about reading more into the message than is there. Keith H. Bierman |*My thoughts are my own. !! kbierman@sun.com It's Not My Fault | MTS --Only my work belongs to Sun* I Voted for Bill & | Advanced Languages/Floating Point Group Opus | "When the going gets Weird .. the Weird turn PRO"
achille@cernvax.UUCP (achille petrilli) (09/01/89)
Presley Smith writes in response to my article: > >1. FORTRAN 77 permitted a processor to supply more precision derived > from a real constant than can be contained in a real datum when the > constant is used to initialize a DOUBLE PRECISION data object in a > DATA statement. This standard does not permit a processor this > option. Here I believe there is really nothing to complain about: F77 "permitted" a processor to do something one way or the other. It was not something you could RELY upon. Whoever has taken advantage of that must be aware of inherent nonportability, even if we stick to F77. >2. If a named variable initialized in a DATA statement, and does not > have the SAVE attribute specified, FORTRAN 77 leaves its SAVE > attribute processor dependent. This standard specifies that this > named variable has the SAVE attribute. Here again is the same as point 1. I don't see how you can be portable in F77 and RELY on DATA initialized variables to be SAVEd (or not), as this is processor dependent. Being F8x more strict can lead to a change, true, but after all, if one wants a variable to be SAVEd in this case, to be portable, s/he would have to explicitly put it in a SAVE stmt. >3. FORTRAN 77 requires that the number of values required by the > input list must be less than or equal to the number of values in > the record during formatted input. This standard specifies that > the input record is logically padded with blanks if there are > not enought values in the input list unless the PAD = NO option > is specified in an appropriate OPEN statement. I cannot fully judge here, never fell into this trap. But if F77 "required" the input list to be less than or equal to the number of values in the record, it seems to me that not obeying to this rule can produce, at the best, processor dependent results and at worst some run-time error. Again the same as point 1 or 2. And any way there is a way to go back to the previous behaviour. I could say many things (all bad) about OPEN stmt in F77. It is probably the stmt that always needs some change when porting a program, just having to add PAD=NO is just part of routine maintenance. It would have been much better if F77 had taken a more radical approach to OPEN. F8x is now out to fix these problems, don't blame it for past errors. >4. This standard has more instrinsic functions than did FORTRAN 77 > and adds a few intrinsic subroutines. Therefore, a standard- > conforming FORTRAN 77 program may have a different interpretation > under this standard if it invokes a procedure having the same > name as one of the new standard intrinsic procedures, unless > that procedure is specified in an EXTERNAL statement as > recommended for nonintrinsic functions in the appendix to the > FORTRAN 77 standard. This could be a problem, but I see no solution to it, other than not introducing any new intrinsic until year 2099. Many F77 implementations introduce more intrinsic than the std prescribes, so what about 'em ? This way we would have to stop any progress. C is undergoing a standardization process as well. New library functions have appeared, they too could clash with existing names in existing programs, trigraphs have been introduced in ANSI C, existing programs could behave differently, etc. Any std is going to break something, especially in the previously undefined or processor dependent areas. The problem is to minimize those areas. F8x seems to be quite good in this respect as there are very few things that have been broken intentionally. I wrote: >>Let get pragmatic, what should I rewrite under f8x ? do loops, ifs, >>I/O statements ? what ? Presley wrote: >That's up to you. do loops... do you want to use array notation for >an example? If you don't want to use new features, then don't change >your code. What I meant was: do I HAVE to rewrite something otherwise it'll perform differently ? The answer seems to be 'No, you don't have to if you don't need new features'. That's enuff for me. In this respect F77 broke badly F66 with the story of zero-trip loops vs. one-trip loops. Also it gave us a very difficult transition from Hollerith characters to the new character type. Life IS difficult sometimes. Presley writes: >I believe that those that want 8x should have 8x. And those that don't >want it should not have it forced on them. Seems like a simple enough >concept to me. For what I've seen up to now, if you don't want F8x, just stick to F77 stmts in F8x. I don't see any reason to have 2 stds. I have now some clearer ideas (for the time being :-). Achille Petrilli Cray and PWS Operations
mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) (09/01/89)
In article <1073@cernvax.UUCP> achille@cernvax.UUCP (achille petrilli) writes: >For what I've seen up to now, if you don't want F8x, just stick to F77 stmts >in F8x. I don't see any reason to have 2 stds. If I were going to write F77, I would MUCH rather use a solid F77 compiler than a new, probably broken, f88 compiler.... -- John D. McCalpin - mccalpin@masig1.ocean.fsu.edu - mccalpin@nu.cs.fsu.edu mccalpin@delocn.udel.edu
hallidayd@yvax.byu.edu (09/05/89)
Hank Dietz (hankd@pur-ee.UUCP) in message (<12687@pur-ee.UUCP>) comments >>F77 is being retained as a subset of F8x; this provides both the >>protection and the progress. > >Did I miss someone talking about a Fortran subset standard? I'd be perfectly >happy if they kept Fortran 77 active as the subset dialect standard. ;-) What do you mean by the smiley? I don't care if FORTRAN 77 is called a subset dialect standard or not (it is not presently called such), however, what some people do not seem to be getting though there thick heads is that FORTRAN 77 is retained as a proper subset of Fortran 8x (meaning that ALL FORTRAN 77 code will run under Fortran 8x)! Why must FORTRAN 77 also be graced with the status of a subset dialect (or, as appears the case now, a separate standard)?!? Why is it not enough to retain _FULL_ backward compatibility with FORTRAN 77 (even with the archaic parts of that archaic language)? > >I've talked to many folk about the standard, and the comments fall into four >catagories: > >[1] No comment (usually, "I'm afraid to do anything because I don't want > to risk offending any of our customers"). > >[2] I hate the 8x standard and will not use it (usually, "I've always > used 66/77, and I'm not gonna rewrite the code nor retrain the > programmers" but also folks like me saying "it clearly is a > different language and to call it Fortran is dishonest"). > >[3] I like the standard because I believe it will finally kill Fortran. > (Usually, "I want to see us using Ada/Modula2/C++ and all Fortran ^^^ > used to have going for it was that it was consistently implemented > *EVERYWHERE*.) This is _almost_ certainly true of OLD FORTRAN (it has also usually been the fastest numeric language on most machines of interest---in other words, not counting PCs)! What people like myself are wanting (shall I say dying for?) is a language that can fulfill diverse needs within a mathematical (though not always numeric) framework, with high efficiency. Old FORTRAN fulfilled the narrow needs of some who required only elemental mathematical operations with the possibility of grouping data into arrays. The trouble is that the needs of the scientific computing community (by no means the only group to use FORTRAN, but the group most often cited as the principle users of FORTRAN) have outgrown FORTRAN (even as advanced as VAX FORTRAN) --- we need much more! The concept of FORmula TRANslation, however, is something we most certainly wish to maintain---we like the ability to have our programs look as much like the mathematics of the problems from which they sprung as possible! (Though it is true that Fortran 8x will help significantly with this need with its operator overloading and defining capabilities, routine overloading, and array operations, it really falls far short of being truly Formula translation. I hope Fortran 9x will be much closer. I know I will be there fighting to see that it does, if possible.) > >[4] I like the standard because we really needed the array extensions, > although some of that other stuff.... (Heard only from X3J3 members > in favor of 8x....) See my comments above --- I am not a member of any of the standards committees. For the kind of computing done by the scientific community, the array operations are certainly needed, however, this is by no means all that is needed. The need has long existed for recursive data types to accommodate the needs of newer, faster algorithms (such as many body algorithms that grow as N*log(N), or even as good as N, rather than the old N^2 that only needed matrices --- though it is still the fastest algorithm for sufficiently small N on array processing machines). **Please** don't continue to force us to use a hodgepodge of programming languages that cannot be guaranteed any semblance of the portability that has been one of the strengths of Fortran. > >Most people seem to be [1] or [2]. Have others gotten similar feedback? > > -hankd@ecn.purdue.edu _____________________________________________________________________ / David Halliday \ | | | Internet: hallidayd@yvax.byu.edu or hallidayd@acoust.byu.edu | | BITNET: hallidayd@byuvax or hallidayd%acoust.byu.edu@utahcca | | Us Mail: BYU Physics Department | | 296 ESC | | Provo, UT 84602 | \_____________________________________________________________________/
hallidayd@yvax.byu.edu (09/05/89)
Walt Brainerd (brainerd@unmvax.unm.edu), as to your message (<305@unmvax.unm.edu>) >In article <12687@pur-ee.UUCP>, hankd@pur-ee.UUCP (Hank Dietz) writes: >> >> Did I miss someone talking about a Fortran subset standard? I'd be perfectly >> happy if they kept Fortran 77 active as the subset dialect standard. ;-) >> >This is an alternative that makes a lot more sense >than what X3 is proposing (i.e., two different standards and two different >documents). X3J3 is currently conducting a poll to see whether the X3 idea >of two standards or the subset idea is preferred, given that one will be >forced by X3. I most certainly prefer the subset idea. Who is being poled by X3J3? I suspect that the venders who have been voting against Fortran 8x because they feel it is to much of a change (it's such a change because FORTRAN has not been keeping up with the times) would prefer to have Fortran 8x be a separate standard so they won't have to market their compilers as subset compilers --- but in reality, this is what a FORTRAN 77 compiler will be (at least as far as I am concerned). _____________________________________________________________________ / David Halliday \ | | | Internet: hallidayd@yvax.byu.edu or hallidayd@acoust.byu.edu | | BITNET: hallidayd@byuvax or hallidayd%acoust.byu.edu@utahcca | | Us Mail: BYU Physics Department | | 296 ESC | | Provo, UT 84602 | \_____________________________________________________________________/
khb@road.Sun.COM (Keith Bierman - Advanced Languages - Floating Point Group ) (09/06/89)
In article <785hallidayd@yvax.byu.edu> hallidayd@yvax.byu.edu writes: >Hank Dietz (hankd@pur-ee.UUCP) in message (<12687@pur-ee.UUCP>) comments > >of a subset dialect (or, as appears the case now, a separate standard)?!? Why >is it not enough to retain _FULL_ backward compatibility with FORTRAN 77 (even >with the archaic parts of that archaic language)? > My agreeing with Presley is a rare event ... but here goes. It is possible for a program to operate (legally) on a f77 processor, but operate differently (or fail) on a f88 processor. As Kurt pointed out there are heuristics which work fairly well. An example: Believe it or not, there are machines upon which open(unit=50,file="oldfile") results in the file being positioned to the END OF FILE. Since f77 did not define the file position after an open (oversight ? ). Nearly all implementations assume OPEN means position to start of data; as do nearly all codes. But there _probably_ are codes which EXPECT to be positioned at END OF FILE ... Under f88 the OPEN is defined to default to start of data, with the option of positioning at the end of data. I am fairly sure that any vendor who had the bizzare default before, will allow that to be the default in f88 also (compiler switch). The upshot is that language lawyers may not assert that all of '77 is in '88 with the same interpretation ... Keith H. Bierman |*My thoughts are my own. !! kbierman@sun.com It's Not My Fault | MTS --Only my work belongs to Sun* I Voted for Bill & | Advanced Languages/Floating Point Group Opus | "When the going gets Weird .. the Weird turn PRO"
bill@ssd.harris.com (Bill Leonard) (09/08/89)
>> Still think "Fortran 8x contains ALL of F77 as a subset"??? How many >> other examples are there? NO ONE KNOWS! >> > So far we have zero examples. This reminds me of a comment a fellow programmer made to me years ago. I asked if his program was working, and he said, "It's not known not to work." In fact, he hadn't tested it at all, but there were no known bugs! :-) -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
bill@ssd.harris.com (Bill Leonard) (09/08/89)
> I can find no justification for extra precision in assignment statements, > although I may have overlooked it. I think Jerry has hit on the real problem here. The question that the average programmer wants answered is: If I initialize a variable in a DATA statement, will I get the same results that I would get if I use an assignment statement? Rather surprisingly, neither F77 nor F8x address this question. I personally think that a compiler that tried its best to get the most exact answer possible from a given code would be the most desirable. > It's ridiculous that some standard conforming programs running on a VAX > will only run with DECs compiler and others only with the BSD compiler. I think this is a bit strong. Jerry's example tests for equality of floating-point numbers: a definite no-no. Anyone who does that deserves what they get. Nevertheless, I think Jerry has a point, but good luck writing a standard to enforce that. The standard cannot enforce the exact value of answers to floating-point computations: there's too much room for variance (e.g., architecture, optimizations, etc.). This is the type of thing that can only be enforced by the marketplace. -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
bill@ssd.harris.com (Bill Leonard) (09/08/89)
> For what I've seen up to now, if you don't want F8x, just stick to F77 stmts > in F8x. I don't see any reason to have 2 stds. > I have now some clearer ideas (for the time being :-). I'll try to clarify why I believe this is insufficient. Let's say I have a customer bidding for a government contract to provide a flight simulator for the new F-1600 fighter jet, an improved version of the F-16. This customer already has an F-16 simulator, written in F77, running on a Whizbang-9000 machine. He is sure that a few minor mods are all that is required to build an F-1600 simulator to meet the contract. He's already gotten an exception from DoD to use FORTRAN instead of Ada (this does happen, by the way). Let us suppose that F8x is out, and F77 is no longer an active standard. Customer's first problem: he has to buy Whizbang's F8x compiler, because their F77 compiler no longer conforms to the FIPS for FORTRAN. After much haggling over price, he pays the bucks. Next problem: the F8x compiler doesn't give the same answers as the old F77 compiler did, even on the same hardware! He complains to Whizbang, who says, "Sorry, but the standard forced us to change that." Next problem: Whizbang has changed NAMELIST to conform to F8x, which is different from their F77 NAMELIST extension. Too bad, Whizbang says, the standard forced us to change. The list goes on... All of these problems can be avoided simply by retaining F77 as a separate standard. Whizbang can still implement F8x, and there will still be these incompatibilities, but F77 customers don't need to worry about them. Perhaps eventually this customer might convert his program to F8x, but meanwhile he has incurred a significant cost for something that should have been virtually free. Note that this customer didn't care about portability: only that the program behaves the same on the same hardware. Say all you want about these features not having guaranteed portability between revisions of the compiler -- Whizbang wouldn't change those things without a very good reason, because they don't want to make their customers mad. -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
mike@arizona.edu (Mike Coffin) (09/08/89)
From article <314@unmvax.unm.edu>, by brainerd@unmvax.unm.edu (Walt Brainerd): > ...In its current state, computer science departments avoid teaching > Fortran, preferring C or Pascal. In fact, use of Fortran is > intentionally and vigorously discouraged as its an ``ancient'' and > ``obsolete'' language. ... The 8X proposal addresses and > eliminates almost all grounds for the complaints of the computer > science priesthood. They might even be willing to teach 8X rather > than trying to assure the extinction of Fortran. How so? I'm not a member of the priesthood, but from what I've seen of the new standard, it's about the last language I would try to teach to a bunch of undergraduates. The movement in Computer Science seems to be towards smaller, more extensible languages. (Witness the rise of functional and object-oriented languages.) Fortran 8x is huge and monolithic. And, if the traffic on this network is any indication, it's not the easiest language to understand. I'm not putting it down --- you guys know what you need, and I'm in no position to contradict. But I don't think you should count on CS departments flocking to Fortran. -- Mike Coffin mike@arizona.edu Univ. of Ariz. Dept. of Comp. Sci. {allegra,cmcl2}!arizona!mike Tucson, AZ 85721 (602)621-2858
brainerd@unmvax.unm.edu (Walt Brainerd) (09/08/89)
In article <BILL.89Sep7131506@hcx1.ssd.harris.com>, bill@ssd.harris.com (Bill Leonard) writes: > >> Still think "Fortran 8x contains ALL of F77 as a subset"??? How many > >> other examples are there? NO ONE KNOWS! > >> > > So far we have zero examples. > > This reminds me of a comment a fellow programmer made to me years ago. I > asked if his program was working, and he said, "It's not known not to > work." In fact, he hadn't tested it at all, but there were no known > bugs! :-) > -- You and Presley have been fussing about this for some time. If there is some point to all this, I think the readers would like to hear what it is. Contrary to your insinuations, X3J3 has devoted a lot of time to trying to ensure that this is the case. A subgroup (led by Mike Metcalf of CERN, I think), did a complete reading of the two to check this. Of course, even after very extensive testing there may be a bug, but somehow, I don't think many people will think this is justification for dropping the project! -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
brainerd@unmvax.unm.edu (Walt Brainerd) (09/08/89)
In article <13833@megaron.arizona.edu>, mike@arizona.edu (Mike Coffin) writes: > From article <314@unmvax.unm.edu>, by brainerd@unmvax.unm.edu (Walt Brainerd): > > > ...In its current state, computer science departments avoid teaching > > Fortran, preferring C or Pascal. In fact, use of Fortran is > > intentionally and vigorously discouraged as its an ``ancient'' and > > ``obsolete'' language. ... The 8X proposal addresses and > > eliminates almost all grounds for the complaints of the computer > > science priesthood. They might even be willing to teach 8X rather > > than trying to assure the extinction of Fortran. > > How so? I'm not a member of the priesthood, but from what I've seen > of the new standard, it's about the last language I would try to teach > to a bunch of undergraduates. The movement in Computer Science seems I dont think I wrote the above, but that is OK, because I have no serious disagreement with it. It seems to me that teaching the "modern" subset of Fortran 8x would not be so bad. There would be the additional advantage that the students would be learning a language actually used. But I have never thought the particular language chosen to teach CS is all that important. After learning Pascal, a good student should be able to write C or Fortran programs after a weekend of study. I hope that engineering and science departments will continue to expose students to Fortran; now there will not be the excuse to avoid teaching them how to effectively use data structures, recursion, modules, etc. -- Walt Brainerd Unicomp, Inc. brainerd@unmvax.cs.unm.edu 2002 Quail Run Dr. NE Albuquerque, NM 87122 505/275-0800
psmith@mozart.uucp (Presley Smith) (09/09/89)
In article <369@unmvax.unm.edu> brainerd@unmvax.unm.edu (Walt Brainerd) writes: Deleted text... > > Contrary to your >insinuations, X3J3 has devoted a lot of time to trying to ensure that >this is the case. A subgroup (led by Mike Metcalf of CERN, I think), >did a complete reading of the two to check this. Of course, even >after very extensive testing there may be a bug, but somehow, I don't >think many people will think this is justification for dropping the project! 1. I don't believe I've ever said that the project should be dropped. If people want 8x, then they should have 8x. If people want 77, they should be able to have 77, without having all of 8x wrapped around it. That's what the debate is about. If the two are separate standards, both groups get what they claim they want. 2. Since you are an officer of X3J3, you should know who's the head of the subgroups (or be able to look it up in all the piles of mail that you get from the committee...). There's a major difference in my mind between "a complete reading of the two" and a direct comparison line by line to be sure nothing was changed. But, I have dropped out of this debate because I don't see that it's productive. X3 will determine the outcome at this point. They have not asked Walt, Bill, or me for our opinions on the subject. So, I will once again drop out of the debate.
khb@road.Sun.COM (Keith Bierman - Advanced Languages - Floating Point Group ) (09/09/89)
In article <BILL.89Sep7141011@hcx1.ssd.harris.com> bill@ssd.harris.com (Bill Leonard) writes: > >Note that this customer didn't care about portability: only that the >program behaves the same on the same hardware. Say all you want about >these features not having guaranteed portability between revisions of the >compiler -- Whizbang wouldn't change those things without a very good >reason, because they don't want to make their customers mad. What constitues good reason is highly variable. In former incarnations I have been bitten by most vendors, two of which are: 1) IBM (fortran G->H-VS fortran) all had some wonky differences 2) Cray cft114 -> cft77 These are the ones which come to mind first ... actually I can't recall any vendor who didn't screw me up on extensions at one time or another (if I used their computers long enough ... :>) ... usually it wasn't too major, and I learned how to write portable code ... :> Holding up standards activitity to protect those who wrote non-portable code, and whose vendors won't maintain the old features, and who don't want to cope seems to me as a user to be quite outrageous. (As a vendor I can see that _any_ change means folks might wander off to new platforms ... but that doesn't seem to be a good reason to freeze standards either ... standards exist to serve users & vendors ... so the good of the greatest number should be considered). Keith H. Bierman |*My thoughts are my own. !! kbierman@sun.com It's Not My Fault | MTS --Only my work belongs to Sun* I Voted for Bill & | Advanced Languages/Floating Point Group Opus | "When the going gets Weird .. the Weird turn PRO"
bill@ssd.harris.com (Bill Leonard) (09/12/89)
> You and Presley have been fussing about this for some time. > If there is some point to all this, I think the readers would like > to hear what it is. Sure, I'll try to make it as simple as I can: 1) The standard has undergone many, many changes over the last year. Text changes have been made wholesale, including some based on the so-called "Green Book" whose origins are clouded in the WG5 mist. 2) In that time, no one has (to my knowledge) made a concerted and detailed effort to ensure that all of FORTRAN-77 is included in FORTRAN/8x, and that there aren't any contradictions between the two. 3) There is no documentation to assist in maintaining the correlation, if any, between F77 and F8x; for instance, there is no cross-reference between the two. F8x uses entirely different language, different terminology, and in some cases uses the same terms used in F77 but with different meanings. I think that makes it very difficult for even X3J3 to reliably ensure that F77 is a true subset of F8x. > Contrary to your insinuations, X3J3 has devoted a lot of time to trying > to ensure that this is the case. A subgroup (led by Mike Metcalf of > CERN, I think), did a complete reading of the two to check this. Of > course, even after very extensive testing there may be a bug, but > somehow, I don't think many people will think this is justification for > dropping the project! This effort was done prior to the many changes made to the draft. Anyway, I never said it was justification for dropping the project -- I never said anything about dropping the project! Don't put words in my mouth! What I said was that this was justification for keeping FORTRAN/77, because it raises well-founded doubts as to whether F77 programs will still be standard-conforming under F8x. (Please note, however, that this is not the only justification.) I hope this is the last time I will have to correct misrepresentations of my statements. -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) (09/12/89)
In message <BILL.89Sep7141011@hcx1.ssd.harris.com> from bill@ssd.harris.com Bill Leonard concocted the following hypothetical: >... Let's say I have a >customer bidding for a government contract to provide a flight >simulator for the new F-1600 fighter jet, ... He's already >gotten an exception from DoD to use FORTRAN instead of Ada (this does >happen, by the way). ... >Note that [Bill's] customer didn't care about portability: >only that the program behaves the same on the same hardware. Hmm, can we conclude that for this application that either (1) FORTRAN is better; or (2) the Government doesn't care about portability; or (3) Reagan trickle-down theory is at work. Bill, please provide a 10-20 page explanation of why the government no longer considers FORTRAN an acceptable computer language. Please plot monthly statistics showing the percentage of exceptions granted by the government since ADA was adopted; include a projection into the future. Has anyone asked the government under what circumstances they would consider returning to a Fortran standard? Isn't there more economic incentive for persuading them to come back? Wouldn't a substantially improved Fortran help? Is FORTRAN best for Bill's customer? Flight simulation suggests the need for many real time features. Even a cursory examination of X3.9-1978 standard shows that no interface exists for real time applications. In message <BILL.89Aug7142959@hcx2.ssd.harris.com> from bill@ssd.harris.com, Bill Leonard writes: ... >Most vendor extensions are aimed at specialized markets >(e.g., real-time simulation, process control, etc.). I'd like to debate that point, but-- It seems that your justification for two FORTRAN standards depends on the existence of implementor extensions--especially real-time interface extensions. Perusing the list of available ANSI documents, I found the following item: "ISO 7846-1985, Industrial real-time FORTRAN--Application for the control of industrial processes, $39.00." Isn't that already a more standard standard! Since X3.9-1978 is without any standardized features for real-time applications, it surely is not suitable for flight simulation and should not exist as a stand-alone standard in order to legitimize a chaotic collection of implementor extensions. I believe that the group of "implementor extensions" should be empty! If there are to be extensions, they should be Official sanctioned extensions that you and others on the X3J3 committee have reviewed. Sections 1.3.2(4) and 1.4 as contained in the X3.9-1978 document are antithetical to the purpose described in section 1.1. In my view X3.9-1978 is not a standard--it is only a document that is more or less useful for the stated purpose. "The purpose of this standard is to promote portability of FORTRAN programs for use on a variety of data processing systems." As long as sections 1.3.2(4) and 1.4 remain in the document the standard is self-destructive (suicidal). ---------------------------------------------------------------------- Albert Hybl, PhD. Office UUCP: uunet!mimsy!mbph!hybl Department of Biophysics Home UUCP: uunet!mimsy!mbph!hybl!ah University of Maryland CoSy: ahybl School of Medicine Baltimore, MD 21201 Phone: (301) 328-7940 (Office) ----------------------------------------------------------------------
jerry@violet.berkeley.edu ( Jerry Berkman ) (09/13/89)
In article <608@mbph.UUCP> hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) writes: > >I believe that the group of "implementor extensions" should be >empty! If there are to be extensions, they should be Official >sanctioned extensions that you and others on the X3J3 committee >have reviewed. ... > >---------------------------------------------------------------------- >Albert Hybl, PhD. Office UUCP: uunet!mimsy!mbph!hybl >Department of Biophysics Home UUCP: uunet!mimsy!mbph!hybl!ah >University of Maryland CoSy: ahybl >School of Medicine >Baltimore, MD 21201 Phone: (301) 328-7940 (Office) >---------------------------------------------------------------------- I assume from this that you think vendors supplying a "double complex" Type in Fortran 77 should be tarred and feathered! I am grateful for that extension on short word machines; I wish X3J3 had provided it. As it was, the initial implementations of double complex on different vendors systems used different names for the intrinsics. This was a minor mess, but better than no complex. Also, what about REAL*16 and INTEGER*2? There are some projects which could not function without those extensions. For that matter, I have been writting Fortran programs in lower case for 8-10 years, and don't feel any guilt about using that extension. I feel similarly about "z" format terms and "include" statements. On the Cray, my favorite timing tool is the "rtc()" intrinsic function; it is compiled into a single instruction which returns the time of day clock in machine cycles so that I can do very accurate timings of small loops. It's not portable, but I don't care. I would however, like a portable cpu time used subroutine or function. Fortran 8x does not include such a function in it's vast set of intrinsics; even though every system I use has such a function (I know there are probably some that don't; add it anyway to the standard and let them return zero all the time). My point is that there have been many useful extensions to the standard, and that there will continue to be useful extensions. We can't freeze Fortran. - Jerry Berkman, U.C. Berkeley
psmith@mozart.uucp (Presley Smith) (09/13/89)
In article <1989Sep13.001659.721@agate.berkeley.edu> jerry@violet.berkeley.edu ( Jerry Berkman ) writes: >In article <608@mbph.UUCP> hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) writes: Text deleted... > >My point is that there have been many useful extensions to the standard, >and that there will continue to be useful extensions. We can't freeze >Fortran. Anyone who does believes that Fortran 8x will NOT be extended is naive. Vendors do listen to the users and extend languages when the user demand is there for an extension, whether that extension is standard or not.
hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) (09/13/89)
In message <1989Sep13.001659.721@agate.berkeley.edu> from jerry@violet.berkeley.edu, Jerry Berkman writes >I assume from this that you think vendors supplying "Satanic character aliases" >in Fortran 77 should be tarred and feathered! Actually, I favor the punishment inflicted upon Prometheus. I must defer to someone on the X3J3 committee to explain why they didn't provide for double complex, REAL*16 and INTEGER*2. >There are some projects which could not function without those variable types. Perhaps the X3J3 is too much dominated by the vendors and they didn't talk early enough and long enough with the real users. How much opportunity did you have to express you perceived need to the pre-1978 X3J3 committee? To the 1989 X3J3 committee? >For that matter, I have been writting Fortran programs in lower case >for 8-10 years, and don't feel any guilt about using that extension. >I feel similarly about "z" format terms and "include" statements. I use mixed case, c-language #include "filename" statements and in-line comments in my code. I pass my code through a vendor sensitive filter to produce fortran source appropriate for the target machine. I DO NOT need any implementor extensions. >On the Cray, my favorite timing tool is the "rtc()" intrinsic function; >... I can do very accurate timings of small loops. It's not portable; >I would however, like a portable cpu time used subroutine or function. >Fortran 8x does not include such a function ... >My point is that there have been many useful extensions to the >standard, and that there will continue to be useful extensions. A "rtc()" intrinsic function would be useful to vendors, users and especially to programmers writing benchmark programs. I have only one application where I need to extract the cpu time from the system. This kind of problem can be handled by collecting a small set of routines written in assembler or C that are specific for each different implementation. (The code for such routines are usually readily available.) On my 3B1/SVS, I wrote a CALL SYSGET('string') routine to provide for system calls. For example, to get cpu timing information I compile the following line into my code: Call sysget('ps -e|grep a[.].*|tr -s " "|cut -f4 -d" ">ps.time') Obviously, my timing problem is not crucial but, again, it shows that I didn't need an implementor extension. >We can't freeze Fortran. After our law makers write and pass laws, the laws appear in a publication of state or federal statutes. The legislature will try to correct a discovered flaw or ambiguity in a law during their next session. In rare cases, a special session may be called to tackle the problem. Ambiguities in the law can also be resolved by the courts. All new laws, recently revised laws and notes of court cases are placed in the "Cumulative Annual Pocket Part" which is placed in the back of the appropriate volume of the statutes. Clearly sections 1.3.2.(4) and part of section 1.4 in X3.9-1978 MUST be deleted! The standards making body should produce a "Cumulative Annual Pocket Part" that is published in FORTRAN forum and other appropriate media. There must be an adjudication mechanism. The standards organization must have a registered trademark for the FORTRAN Language. A Fortran Validation Suite must be created, updated and revised annually. Before a compiler is allowed to use the trademark, it must pass the validation tests. ---------------------------------------------------------------------- Albert Hybl, PhD. Office UUCP: uunet!mimsy!mbph!hybl Department of Biophysics Home UUCP: uunet!mimsy!mbph!hybl!ah University of Maryland CoSy: ahybl School of Medicine Baltimore, MD 21201 Phone: (301) 328-7940 (Office) ----------------------------------------------------------------------
bill@ssd.harris.com (Bill Leonard) (09/14/89)
Dr. Hybl seems to have badly misunderstood my posting, so I'd like to clarify several things. First, let me say that my example was hypothetical, but not unrealistic. These kinds of bids are submitted routinely. > Hmm, can we conclude that for this application that either (1) FORTRAN > is better; or (2) the Government doesn't care about portability; > or (3) Reagan trickle-down theory is at work. None of the above. The customer is bidding based on his assumption that the Government cares about cost, and he thinks that making minor modifications to an existing program is much more cost-effective than developing from scratch using Ada. Most of the exceptions granted by DoD that I know about are based on the existence of something "close" to what the contract calls for. In my example, this previously-existing program was also developed for the Government, so apparently _it_ was portable enough for the Government. > Bill, please provide a 10-20 page explanation of why the government > no longer considers FORTRAN an acceptable computer language. I can't provide an explanation of something I don't believe is true. The Government still does an awful lot of work in FORTRAN; only the DoD is under any mandate to use Ada, and even they give exceptions. Yes, it is true that those exceptions are declining; it's anyone's guess where they'll go. But FORTRAN use by other Government agencies and contractors is still pretty strong. > Has anyone asked the government under what circumstances they would > consider returning to a Fortran standard? Isn't there more economic > incentive for persuading them to come back? Wouldn't a substantially > improved Fortran help? They never left. As for whether a "substantially improved" FORTRAN would help, help what?. I don't think DoD is going to back away from Ada, with or without F8x. As for whether existing use of FORTRAN within the Government would be "helped" by F8x, I merely note that several representatives of various U.S. Government agencies and contractors wrote public comments that opposed 8x. I believe that is justification for thinking they would prefer to use F77 than F8x. Somehow people keep tying the issue of retaining FORTRAN/77 with a rejection of FORTRAN/8x. The X3 vote says nothing about rejecting F8x. I've said numerous times in my arguments on this issue that those who want F8x may have it, but there is sufficient dissent among FORTRAN users that it seems prudent to retain F77 until either those dissenters are won over to F8x or they switch to some other language. If the use of F77 declines, as those who support F8x want us to believe will happen, then there will be no reason to reaffirm F77 five years from now. > It seems that your justification for two FORTRAN standards depends > on the existence of implementor extensions--especially real-time > interface extensions. Not at all. This particular customer's justification for bidding an existing FORTRAN application may well be based on those extensions, however. Since the Government saw fit to buy the original product, presumably those extensions were sufficiently portable (among the class of machines suitable for such real-time application) to satisfy its needs. Judging from user requests for real-time extensions, I'd say the ISO standard you cited was evidently not found to be sufficient for their needs. The Government continues to buy their products, so they must be doing something right! My justification for retaining F77 is based on the number of public comments opposed to F8x. If they don't like F8x, the only other choice we can provide them in the short term is F77 or another language entirely. I think retaining F77 is a reasonable choice. Finally, I'd like to point out (again) that portability is a relative concept. A flight simulator is different from, say, a finite-element analysis application, in that it has to deal with external hardware, it has to operate in a "hard" real-time environment, and it has tight performance requirements. Not all machines can meet these requirements, so portability to those machines is uninteresting. Still other machines are far too expensive for the task, so portability to those machines is uninteresting too. In this environment, one is interested only in portability among the machines that can serve the purpose. In many cases, the extensions to FORTRAN for this kind of real-time computing are common to all the vendors of those machines -- what more portability could you want? I'll readily agree that not everyone falls into this class of user, but that doesn't mean those users don't deserve fair treatment. If they say F8x is not suitable for their needs, who am I to argue with them? They spoke, and I listened. -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) (09/16/89)
>Dr. Hybl seems to have badly misunderstood my posting, so I'd like to >clarify several things. ... The customer is bidding based on his >assumption that the Government cares about cost, ... >Most of the exceptions granted by DoD that I know about are based >on the existence of something "close" to what the contract calls for. That sounds like the usual argument employed for awarding sole source contracts. Sole source contracts are often expensive and prone to hanky-panky. >The Government still does an awful lot of work in FORTRAN; ... ?^^^^^? Congress, always being interested in the cost of toilet seats and computer equipment (Automatic Data Processing Resources), identified that one cause of sole source acquisition was the existence of extensions in the various compilers. In House Report No. 94-1746 titled "Administration of Public Law 89-306, Procurement of ADP Resources by the Federal Government," we read: "This means that a user agency may adopt Cobol but employ unique features which will impede conversion." That was written in 1976. You can replace the word Cobol with Fortran, features with extensions and conversion with portage and notice that nothing has changed over the last thirteen years. The Brooks committee added: "Only when standard high level languages are developed and their use enforced will a barrier to effective competition be eliminated." They intended that the high level languages should be without extensions! >Finally, I'd like to point out (again) that portability is a relative >concept. Yes, it's extremely useful for users but a real-time pain for the vendors. Bill, a panegyrists for F77, refers to it in the singular as if there weren't thousands of disparate implementations. Hasn't he noticed that the VAX/VMS compiler already contains many of the F8x features? Although I don't think much of the barnacles attached to VMS, I don't see VAX being stoned for adding the F8x features. ---------------------------------------------------------------------- Albert Hybl, PhD. Office UUCP: uunet!mimsy!mbph!hybl Department of Biophysics Home UUCP: uunet!mimsy!mbph!hybl!ah University of Maryland CoSy: ahybl School of Medicine Baltimore, MD 21201 Phone: (301) 328-7940 (Office) ----------------------------------------------------------------------
hirchert@uxe.cso.uiuc.edu (09/18/89)
Albert Hybl has been trying to convince the rest of us that the Fortran standard should prohibit extensions. I will gladly grant him that inappropriate use of vendor extensions is highly undesirable. I would like to suggest two things: 1. Many of us from time to time use Fortran to do things not intended to be portable or intended to be portable only through the wholeshale replace- ment of some processor-specific kernel functionalities. In such cases, it may be entirely appropriate to make use of vendor extensions. 2. Even if the standard prohibited extensions, it would be essentially meaningless. (More accurately, it would mean little more than the current FIPS switches.) Typically, a processor needs to be standard conforming only under one combinations of its switches. A vendor could argue along the lines "Our command to run the standard-conforming compiler is 'fortran -noextensions'. The command 'fortran' is our command to run the compiler for a language similar to standard fortran, but with a number of useful extensions." In other words, vendors will stop providing extensions only when there stops being a market for them. The best the standard can do is to provide the tools with which to write readable, portable, effcient, etc. programs; it can't force programmers to produce programs that actually have those properties. Kurt W. Hirchert hirchert@ncsa.uiuc.edu National Center for Supercomputing Applications
psmith@mozart.uucp (Presley Smith) (09/19/89)
In article <611@mbph.UUCP> hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) writes: > >Bill, a panegyrists for F77, refers to it in the singular >as if there weren't thousands of disparate implementations. >Hasn't he noticed that the VAX/VMS compiler already contains >many of the F8x features? Although I don't think much of the >barnacles attached to VMS, I don't see VAX being stoned for >adding the F8x features. Maybe someone would like to enlighten us as to what Fortran 8x features are in the VAX/VMS compilers... Do the VAX/VMS compilers contain: 1. Array notation 2. Interface 3. Overloading 4. Modules 5. Pointers 6. ??? If you count FORTRAN 77 that as contained in 8x, the VAX/VMS compilers certainly contain that. Things like structures are done differently in the VAX/VMS compilers to what the Fortran 8x standard defines for structures... etc. Would someone like to provide some examples of these "many" F8x features?
bill@ssd.harris.com (Bill Leonard) (09/20/89)
> I believe that the group of "implementor extensions" should be > empty! If there are to be extensions, they should be Official > sanctioned extensions that you and others on the X3J3 committee > have reviewed. Sections 1.3.2(4) and 1.4 as contained in the > X3.9-1978 document are antithetical to the purpose described in > section 1.1. I take it that you are opposed, then, to extensions even if they are implemented by several vendors? I'll take a big leap and assume that your reason is because code which uses those extensions is not portable among the entire set of FORTRAN processors. Am I right? Then I think you must also be opposed to the FORTRAN/8x standard, because of the CHARACTER KIND= facility. Why? Because there is no requirement in F8x on what KINDs of CHARACTER a processor must provide. I suspect that vendors who do business in China and Japan, for example, will implement KINDs for the Oriental character sets; vendors who don't do business there probably won't bother. Hence, code written using Kanji would not be universally portable. This seems to me the same situation that arises with vendor extensions. In fact, I fail to see how your proposal for "Officially Sanctioned" extensions solves the problem either. There would still (I presume) not be any requirement that EVERY vendor implement those extensions. So how does this improve the situation? X3J3 has often refused to standardize extensions on the grounds that they are not required by a large body of users. I think that is a perfectly valid reason; in my opinion, it has not been applied often enough to F8x features. Nevertheless, it seems unreasonable to me that a user with a particular need (for instance, real-time computing) should be denied the language facilities he needs, simply because they would not be universally portable. Moreover, if the vendors waited for X3J3 to define the "Officially Sanctioned" extensions our customers need, we'd be out of business, and probably so would our customers. The ANSI process, indeed any design done by committee, is far too slow to react to the fast pace at which computer technology changes. I think your proposal turns the process upside-down. Vendor extensions should be the "proving ground" for language evolution. Only when a language feature has proven to be: 1) implementable; 2) widely used; and 3) portable to at least some degree, should it be standardized. I have no objection to standardizing extensions, once they have proven to be useful, for those extensions that are used by a small segment of users. But I don't think the standardization should come first; first one must prove that the perceived need does in fact exist, and that there are no serious impediments to implementation. -- Bill Leonard Harris Computer Systems Division 2101 W. Cypress Creek Road Fort Lauderdale, FL 33309 bill@ssd.harris.com or hcx1!bill@uunet.uu.net
hybl@mbph.UUCP (Albert Hybl Dept of Biophysics SM) (09/20/89)
In message <1805@convex.UUCP> from psmith@mozart.uucp, Presley Smith writes: >Maybe someone would like to enlighten us as to what Fortran 8x >features are in the VAX/VMS compilers... In message <MCCALPIN.89Sep3075933@masig3.ocean.fsu.edu> from mccalpin@masig3.ocean.fsu.edu, John D. McCalpin wrote: >In message <5272@garfield.MUN.EDU> chris2@garfield.MUN.EDU (Chris >Paulse) writes: >>I was recently sent some Fortran code which was written for >>VAX/VMS that included some extensions that made our bsd f77 >>compiler hiccup. The particular extensions that did this were >> o comments at the end of a line indicated as ... >> SOURCE GOES HERE ! this is a comment >> o the do/enddo construct >>Does there exist a preprocessor for this flavor of F77 which >>will easily convert it back to vanilla f77? > >My mailer couldn't find garfield.mun.edu, so here is a lex program >that should do the trick. --lex program deleted-- Well, there are two. Let us thank John for providing the lex program. It will allow me to consider using the DO...ENDDO syntax and still keep my 3B1/SVS compiler. I notice with some sadness that John used lex instead of fortran to encode the filter. It shows that fortran lacks character! I hope that F8x will be substantially enhanced in this area! I joined ACM _many_ year ago and subscribe to Fortran Forum in part because they had published draft language standards in their technical journals. In volume 8 number 3 (August 1989) of Fortran Forum, I read: "SIGPLAN has budgeted for continuing this practice of publishing draft Programming Language standards (either in SIGPLAN Notices or in news-letters such as Fortran Forum), as a service to its constituency." Until F8x is printed in Fortran Forum, I will be without a draft copy. Thanks to CBEMA that may be too late for me to contribute to the debate on what features should or should not be included. ---------------------------------------------------------------------- Albert Hybl, PhD. Office UUCP: uunet!mimsy!mbph!hybl Department of Biophysics Home UUCP: uunet!mimsy!mbph!hybl!ah University of Maryland CoSy: ahybl School of Medicine Baltimore, MD 21201 Phone: (301) 328-7940 (Office) ----------------------------------------------------------------------
psmith@mozart.uucp (Presley Smith) (09/22/89)
In article <BILL.89Sep20094249@hcx3.ssd.harris.com> bill@ssd.harris.com (Bill Leonard) writes: <<<< Text Deleted >>>> > >I think your proposal turns the process upside-down. Vendor extensions >should be the "proving ground" for language evolution. Only when a >language feature has proven to be: 1) implementable; 2) widely used; and 3) >portable to at least some degree, should it be standardized. I have no >objection to standardizing extensions, once they have proven to be useful, >for those extensions that are used by a small segment of users. But I >don't think the standardization should come first; first one must prove >that the perceived need does in fact exist, and that there are no serious >impediments to implementation. >-- If only X3J3 had adopted that philosophy in Fortran 8x instead of refusing to standardize existing practice and producing different syntax and semantics just so it would be different. Oh well, great idea. Maybe in Fortran 9x.