From jwagener@amoco.com Mon Mar 15 09:02:44 1993
Received: from interlock.amoco.com by dkuug.dk with SMTP id AA00692
  (5.65c8/IDA-1.4.4j for <SC22WG5@dkuug.dk>); Mon, 15 Mar 1993 22:02:34 +0100
Received: by interlock.amoco.com id AA05945
  (InterLock SMTP Gateway 1.1 for SC22WG5@dkuug.dk);
  Mon, 15 Mar 1993 14:55:45 -0600
Received: by interlock.amoco.com (Internal Mail Agent-2);
  Mon, 15 Mar 1993 14:55:45 -0600
Received: by interlock.amoco.com (Internal Mail Agent-1);
  Mon, 15 Mar 1993 14:55:45 -0600
Date: Mon, 15 Mar 93 15:02:44 CST
Message-Id: <9303152102.AA19663@trc.amoco.com>
From: Jerrold L. Wagener <jwagener@amoco.com>
To: SC22WG5@dkuug.dk
Subject: informal JLW report on the March HPFF meeting
X-Charset: ASCII
X-Char-Esc: 29

To X3J3 and WG5 -

Rex Page was not able to attend the 1993 March 10-12 HPFF meeting; I attended 
in his place.  The objective of this meeting was to process the public 
comments on HPF-1.0/draft and prepare HPF-1.0/final.  This was accomplished, 
and HPF-1.0/final is scheduled to be released May 3.  HPFF then adjourned 
until January 1994, at which time consideration of HPF-2 will commence.

Roughly 50 pages of commentary had been received.  Other than editorial 
corrections and improvements, most of the suggested changes to HPF were not 
made, though a number of changes were made and a few significant others came 
close.  Among the changes made to HPF-1.0/draft are:

1. Commentary and rationale material will be reformatted to distinguish it 
from specification of HPF (moving rationale to an annex was considered and 
rejected).

2. Chapter will be renamed to section, appendix to annex.

3. The syntax rules will be numbered Hsnn, and a list of just the syntax 
rules and constraints will be placed in a new annex.

4. The current annex (JOD) will be removed and made into a separate document.

5. Section 4 was renamed to "Data Parallel Statements and Directives".

6. The REALIGN syntax ambiguity problem was fixed by requiring ":" on array 
names in the offending form - e.g., REALIGN A(:,:) WITH B(:,:)   .

7.The default of BLOCK is removed from the DISTRIBUTE directive; now there is 
no default.

8. The align-subscript-use syntax was considerably simplified and the subset 
distinction of align-subscript-use between full and subset HPF was removed.

9. Duplicate specification of F90 attributes in HPF directives was disallowed.

10. The VIEW directive was removed (and placed in the JOD).

11. The PURE directive is replaced by a PURE keyword option on the procedure 
heading.  (A similar change for INDEPENDENT was discussed but not adopted.)

12. The index list is removed from the INDEPENDENT directive; thus each loop 
or forall specified to be independent must have its own independent directive.

13. A function in a forall header mask must be pure, but one in a forall 
header index expression need not be.

14. The spelling of HPF_LIB is changed to HPF_LIBRARY.

15. The EXCLUSIVE dummy argument is removed from the COPY_PREFIX and 
COPY_SUFFIX library functions.

16. The EXTRINSIC and LOCAL (changed to HPF_LOCAL) directives were replaced 
by an EXTRINSIC (model-name) option on the procedure heading.

17. The intrinsic procedures associated with EXTRINSIC were reclassified as 
not intrinsic and are repackaged in a module (probably in HPF_LIBRARY).

18. All discussion of EXTRINSIC models (i.e., sections 6.3 and 6.4 of HPF-
1.0/draft) are removed from HPF and placed in a new annex.

19. A NOSEQUENCE directive was added, as a complement to SEQUENCE; 
the default for common blocks remains nosequence but can be changed and 
controlled ala' PUBLIC/PRIVATE.


So much for a summary of changes actually made.  Some of the more interesting 
discussions involved issues for which, in the end, no changes were made.
I'll briefly mention five such issues.

A.  pointers in pure functions
The role of pointers in pure functions was discussed in subgroup at length, 
as to whether (or in what ways) pointers rendered procedures unpure.  In the 
end pointers were left in pure procedures, including functions returning 
pointers, because no real problem could be pinpointed, though no one would be 
surprised if someone found a problem with pointers in pure procedures.

B.  eliminate the HPF subset
Because of public comment, this issue was raised again.  A number of vendors 
still wanted the subset, however, so in the end the subset was kept.

C.  put (some form of) modules in the subset
Because of public comment, and because some functionality would be provided 
by having modules in the subset, there was a serious attempt to put (some 
form of) modules in the HPF subset.  By a narrow margin the vote was to keep 
modules out of the subset.

D.  intrinsics packaged in a module
There was serious consideration given to packaging the HPF intrinsic 
procedures in a module (and having an HPF directive for accessing these 
intrinsics in the subset).  Because there is an interpretation pending in 
X3J3 on whether or not such packaging of implementation-supplied intrinsics 
is legitimate, this idea was placed in the HPF JOD instead.

E.  adding elemental procedures
In some sense this was the most interesting discussion.  There was public 
comment that requested replacing pure procedures with elemental procedures.
The options boiled down to (a) replacing pure procedures with elemental 
procedures, (b) keeping pure procedures and adding elemental procedures, and 
(c) making no change.  In full committee there was a vote on (b), which 
turned out 9 for, 8 against, and 5 abstaining, which would result in the 
motion passing and elemental procedures being added to HPF.  Upon seeing the 
closeness of this vote, one individual who voted "for" changed his vote to 
"abstain", making the final tally 8-8-6, causing the motion to fail.  Part of 
the concern in the discussion centered around "why did X3J3 remove elemental 
procedures from the F90 draft".  Though elemental procedures will thus not be 
in HPF-1, they will be in the HPF JOD, and the committee requested the HPFF 
chair (Ken Kennedy) to write to X3J3 with the message that HPFF thinks it 
wuld be a good thing to have elemental procedures in standard Fortran.


In brief, that is the final 1993 HPFF meeting, as I saw it.  Look for the 
official minutes to be issued later, as well as the HPF-1.0/final document, 
targeted for May 3.


Jerry


