djm@hpfcso.HP.COM (Dan Magenheimer) (07/27/90)
(I'm posting this for Michael Hannah, the vice-chair of the POSIX FORTRAN bindings group. See below for address for responses. Discussion in this newsgroup is also welcome.) FORTRAN bindings committee prepares to go to ballot The FORTRAN bindings committee is preparing the official call for a ballot group. Because the POSIX work is all done under the auspices of the IEEE Technical Committee on Operating Systems Standards Subcommittee (TCOS-SS), all members of the ballot group must be both regular IEEE or Computer Society members. and members of the TCOS-SS (no extra charge to join). Non-members may submit informative ballots, but such ballots cannot count towards the required response percentage (75%), or percentage of affirmative responses (also 75%) required for passage of the standard. [Editor: Institutional Representatives are exceptions to this rule. See IEEE 1003.1-1988, p. 177 for a detailed explanation of the rules.] For more information, the appropriate membership forms, and instructions for returning the forms to the proper IEEE offices, contact the committee chair, John McGrory, at the address listed at the end of this article. This information/sign-up packet will be available by the end of June, but you may contact the chair as soon as you want your name added to the distribution list. The formal sign-up period is expected to be August 15 through October 19, 1990. The ballot period is expected to last from November 9, 1990 through January 4, 1991. We are especially eager to attract a large, representative balloting group, and encourage interested individuals to sign up. While the views represented on the P1003.9 working group have been appropriate and varied, the number of active members has been small (typically, around a dozen). Some history As the committee prepares to go to ballot, it might be of value to review some of the more sticky issues that the working group has addressed. The formal, adopted charter of the committee is to provide access to the POSIX-defined, standard operating system interface and environment, directly from the FORTRAN language. There are two major issues of scope that bear comment: ``Access to how much of POSIX?'' and ``Which FORTRAN?'' Some POSIX features are easily imagined as useful to a FORTRAN application (e.g., chmod, exec, etc.); some are less easily imagined (pick your favorite obscure system call). It was unclear where to draw the line, so the committee took the attitude of ensuring access to all features defined in 1003.1 (IEEE 1003.1-1988, or ISO/IEC 9945- 1:1990). It seemed clear that full functional access would be provided by most vendors, so full standardization seemed called for. Some diehard C language addicts continue to ask, ``Why have any FORTRAN bindings?'' Although most vendors provide a method of calling C functions from FORTRAN, they vary from vendor to vendor. Further, any library of C routines provided by a vendor to map FORTRAN constructs to the POSIX defined procedures is bound to differ among vendors. The P1003.9 bindings are silent on implementation, so the FORTRAN subprograms defined in the bindings could be implemented as just such a library. The bindings just standardize the interface. Keeping in mind the POSIX goal of application portability, only a truly complete FORTRAN binding would provide portability of any FORTRAN application. A harder issue was, ``Which FORTRAN?'' Our choices were: 1. FORTRAN 77 [ANSI X3.9-1978, ISO 1539-1980 (E)], 2. a codification of common extensions/enhancements to FORTRAN 77, or 3. the revised FORTRAN standard emerging from the ANSI X3J3 committee -- previously referred to as FORTRAN 8X but now called Fortran 90. (The working group has been delighted to have an officially appointed representative of X3J3 as an active member.) [Editor: Note that Fortran 90 will finally let us type the name of the language without using the caps-lock key. ``And gain is gain, however small.'' -- Robert Browning] We chose the first. For FORTRAN 77 vs. Fortran 90, we were swayed by the fact that FORTRAN 77 is currently the only adopted standard. (Fortran 90 is scheduled to be adopted as an ANSI standard after P1003.9 goes to ballot.) Further, FORTRAN-77-based applications are expected to exist for some years. Thus, the working group felt that FORTRAN-77-based bindings would be of value to the user community. The working group expects to develop a new set of bindings, based solely on Fortran 90, after completion of the FORTRAN 77 bindings (and after the Fortran 90 standard is adopted). One result of this decision is a subprogram- naming scheme that reflects the version of the language (e.g., CALL F77MKDIR(...) ). This will ensure that there will be no name-space conflict with similar-purpose subprograms in a future Fortran 90 binding. An even harder issue, once we decided to base the bindings on FORTRAN 77, was whether to define the bindings as extensions and/or enhancements to the language itself, or simply as a library of callable FORTRAN subprograms. While the latter was finally chosen, there was considerable argument for the former. In fact, one extension to FORTRAN 77 was considered minimally essential. The current document requires the language to differentiate external names unique to 31 characters, even though the FORTRAN 77 standard limits them to six. The extension seems harmless. Fortran 90 specifies uniqueness to 31 characters and all current FORTRAN 77 compilers researched provide this extension. Further, since the list of P1003.9 subprogram names is finite, if necessary, a vendor could provide a preprocessor to convert these names into unique strings of six characters. If the P1003.9 bindings had defined changes to the language itself, then major missing constructs in the FORTRAN 77 language needed for easy POSIX access (most notably, structures and pointers) could have been provided by choosing either the emerging Fortran 90 constructs or an existing vendor solution. At first the working group felt that this might be required for some access features. However, as we struggled with each issue, working papers and proposals were introduced that resolved every one with callable FORTRAN subprograms (though some might argue about elegance or ease of use). While we mostly steered clear of ``ease-of-implementation'' arguments, since we viewed the FORTRAN 77 bindings as an interim, we felt that vendors would be quicker to implement a library of subprograms than modifications to compilers. A final, hard question of standard scope concerned whether to restrict the standard to 1003.1, or expand it to general, FORTRAN-application portability issues, both within and outside the POSIX arena. Both a lack of resources and a desire to provide a timely bindings on the heels of 1003.1 made us decide to limit the scope to 1003.1 functionality. As other base standards are produced (e.g., 1003.2, 1003.4, etc.), we expect to construct and ballot bindings for those standards. For example, we have worked with P1003.2 in defining a standardized command to invoke the FORTRAN compiler (after a number of iterations, now named fort77) which is part of their current draft. Actual P1003.9 bindings to 1003.2 might include definitions of additional utilities of use to FORTRAN applications not mentioned in the base 1003.2 standard (e.g., f77split, f77lint, etc.). Another argument against adding features was that many, if not most, of the problems we saw in portability are solved by new constructs in Fortran 90. Many of us felt that as a standards group we should only provide a minimum set of features for ``perhaps-soon-to-be-obsolete'' FORTRAN 77, and thereby speed up the date for providing full bindings to the new Fortran 90, which provides more features for application portability. How to get involved If you have strong feelings about these issues, the most effective avenue to express them at this point is to join the balloting group being formed. Nevertheless, if you wish to discuss them before this you can also directly contact the chair (John McGrory) or me (vice- chair, Michael Hannah), or join the e-mail discussion group. Addresses follow: P1003.9 Chair John McGrory Hewlett Packard Co. Division 2615 19046 Pruneridge Avenue Cupertino, Ca 95014 mcgrory%hpda@HPLABS.HP.COM P1003.9 ViceChair Michael Hannah Sandia National Labs Albuquerque, NM 87185 mjhanna@SANDIA.GOV Un-moderated mailing list: posix-fortran@SANDIA.GOV To join the list, send request to: posix-fortran-request@SANDIA.GOV
bam@bnlux0.bnl.gov (Bruce A. Martin) (08/01/90)
In article <9080004@hpfcso.HP.COM> djm@hpfcso.HP.COM (Dan Magenheimer) writes: >(I'm posting this for Michael Hannah, the vice-chair of the POSIX FORTRAN >bindings group. See below for address for responses. Discussion in this >newsgroup is also welcome.) > >FORTRAN bindings committee prepares to go to ballot > >The FORTRAN bindings committee is preparing the official call for a >ballot group. Because the POSIX work is all done under the auspices >of the IEEE Technical Committee on Operating Systems Standards >Subcommittee (TCOS-SS), all members of the ballot group must be both ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >regular IEEE or Computer Society members. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This membership requirement (which I have protested for many years) is highly objectionable in a standards process, and should be the subject of scorn & ridicule [perhaps in some more appropriate group]. I am not an Electrical Engineer and have no desire to support *their* professional society. (The issue is not only financial: I do not wish to lend my name to the political opinions IEEE occasionally espouses.) By contrast, EE's have been welcome to comment on publicly-developed software standards, and their comments are treated equally with those of others. This is true, regardless of whether they pay dues to ACM! (And regardless of whether they agree with ACM stands on Scharansky or SDI.) Isn't it about time somebody objected to IEEE's practice of developing their own "standard", with a "members-only" ballot groups, and then later presenting it as a take-it-or-leave-it candidate for ANSI standardization, thus turning the ANSI "Public Review & Comment" process into a mere plebiscite. This also makes a mockery of the "consensus process" which ANSI claims to require of its accredited standards bodies. Non-IEEE comments are rendered moot because the so-called technical commitee generally ends all technical deliberations long before the ANSI *public* comment period begins! >... Non-members may submit informative >ballots, but such ballots cannot count towards the required response >percentage (75%), or percentage of affirmative responses (also 75%) >required for passage of the standard. This stands in sharp contrast to the practice of X3 (and others) of developing true consensus standards via an open process which does not give special status to dues-paying members of a particular organization. (No, you don't have to be a member of CBEMA to receive attention to your public comment, to submit proposals, or even to join a Technical Committee and vote on letter ballots.) >For more information, the appropriate membership forms, and >instructions for returning the forms to the proper IEEE offices, >contact the committee chair, John McGrory, at the address listed at >the end of this article. This information/sign-up packet will be >available by the end of June, but you may contact the chair as soon as >you want your name added to the distribution list. This IEEE practice reminds me more and more of the TV scams urging people to call a 900 number (at $2 a pop) in order to voice their opinions. I resent IEEE's use of the standards process to drum up business almost as much as I resent their exclusion of the general public from the development process. >:-( >The formal sign-up period is expected to be August 15 through October >19, 1990. The ballot period is expected to last from November 9, 1990 >through January 4, 1991. We are especially eager to attract a large, >representative balloting group, and encourage interested individuals ^^^^^^^^^^^^^^ >to sign up. Your wishes are no doubt sincere, but the organization which sponsors and controls the process is and has been blatantly hypocritical in its policies and procedures. >...While the views represented on the P1003.9 working group >have been appropriate and varied, the number of active members has >been small (typically, around a dozen). > >Some history > >... Thanks. I enjoyed this history, and do appreciate your well-written and informative summary. Also, I am glad that IEEE permits you to inform us outsiders about some of the things that have been going on inside your members-only group. ;-) Unfortunately, if previous practice holds, the ANSI "Public Review & Comment Period" (in which commenters are not discriminated against on the basis of professional society affiliation) will be held at a time when the technical committee has already completed its technical work and is no longer willing or able to consider technical, philo- sophical, or editorial opinions of the previously excluded public. __________________________ End of tirade. __________________________ >... >(Fortran 90 is scheduled >to be adopted as an ANSI standard after P1003.9 goes to ballot.) Merely a quibble: Fortran 90 is scheduled to become an ISO standard quite soon, replacing ISO Fortran 77. It is not at all clear whether or not it will ever become an ANSI standard, and X3 has decided to "freeze" the ANSI Fortran 77 standard in a manner that does not require upward compatibility. (i.e. Conforming 77 compilers may be allowed to offer Fortran 90 syntax with different semantics. But that's a whole 'nother flame war, and I digress.) >... One result of this decision is a subprogram- >naming scheme that reflects the version of the language (e.g., CALL >F77MKDIR(...) ). I think this is downright silly. Since Fortran 90 is a superset of Fortran 77, any 77-conforming interfaces could have exactly the same form in 90. Sure, you might want to add some goodies later for 90 only, but there is no reason to create two complete sets of names! >... This will ensure that there will be no name-space >conflict with similar-purpose subprograms in a future Fortran 90 >binding. To ensure that, you would only need new names for those (probably few) bindings which must be incompatible for Fortran 90. Even these could be made upward-compatible thru the use of Fortran 90 features such as generic interfaces, optional parameters, and keyword arguments, with the procedure name remaining unchanged. (Consider, for example, the Fortran 90 extensions to AINT, CMPLX, or INDEX -- it was not necessary to create another intrinsic name to add "KIND" or "BACK". >... In fact, one >extension to FORTRAN 77 was considered minimally essential. The >current document requires the language to differentiate external names >unique to 31 characters, even though the FORTRAN 77 standard limits >them to six. The extension seems harmless. *I* don't mind this a bit, but you should expect howls of protest from certain vendors. [By the way, do you allow vendors? Must their company join IEEE or are they merely restricted in who they may send?] >Fortran 90 specifies uniqueness to 31 characters Actually, 90 specifies a *maximum* of 31 characters (and full uniqueness). >and all current FORTRAN 77 compilers researched provide this extension. You obviously researched a different set of compilers than those I've found!! >... if necessary, a vendor could provide a >preprocessor to convert these names into unique strings of six characters. This assumes that all programs treat your new names as "reserved words". >... we felt that vendors >would be quicker to implement a library of subprograms than >modifications to compilers. I agree. (I also hope you asked the vendors.) >... >How to get involved > >If you have strong feelings about these issues, the most effective >avenue to express them at this point is to join the balloting group >being formed. ^^^^^^^^^^^^^^^^^^^^^^^^ Ah. But this requires joining IEEE, paying dues, and agreeing with (or acquiescing to) its stated positions and opinions. { GO TO TIRADE } -/s/- BAM Bruce A. Martin [Address given for identification only.] Grumman Space Systems [Every conceivable disclaimer applies!!] c/o National Synchrotron Light Source [Opinions are mine only, & will change,] Bldg. 725C, Brookhaven National Lab. [without notice, whenever appropriate!!] Upton, NY 11973 (516) 282-3712 *New Address -- effective 16 July 1990* my email addresses remain: bam@bnlux0.bnl.gov or bam@gdstech.grumman.com [DISCLAIMER: The statements made herein do not necessarily reflect those of any other individual, group, organization, corporation, or government agency. My work on X3J3 does not in any way represent official policies or positions of my past or present employers nor those of any other sponsor or affiliate.]
caywood@teb.larc.nasa.gov (John Caywood) (08/02/90)
In article <2035@bnlux0.bnl.gov> bam@bnlux0.bnl.gov (Bruce A. Martin) writes: >In article <9080004@hpfcso.HP.COM> djm@hpfcso.HP.COM (Dan Magenheimer) writes: >> >>Subcommittee (TCOS-SS), all members of the ballot group must be both > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>regular IEEE or Computer Society members. > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >By contrast, EE's have been welcome to comment on publicly-developed >software standards, and their comments are treated equally with those of >others. This is true, regardless of whether they pay dues to ACM! > >This stands in sharp contrast to the practice of X3 (and others) of >developing true consensus standards via an open process which does >not give special status to dues-paying members of a particular >organization. (No, you don't have to be a member of CBEMA to >receive attention to your public comment, to submit proposals, ...) > The original statement was just a bit incomplete. Objections from non-IEEE members must be resolved to the objector's satisfaction, just as if they came from a member; the difference is that if a non-member says Hey, this is great, it doesn't count toward (the official definition of) consensus. Consequently, your objections *DO* receive attention, whether or not you are an IEEE or CS member. You can also note that this policy makes it more difficult for a single organization or group to flood the balloting group with affirmatives in an attempt to force through an unpopular standard. It does *not* prevent a group from flooding the ballots with objections to block the adoption of an unpopular standard (a balloting diode? :-) Please note that these are merely observations -- I don't imply that there is no better way to ballot. John Caywood, Secty. POSIX.10