Subject: hpff-doc: Re: HPF version 2.0 Language Specification

From: [email-masked] (Michael Hennecke)
Date: Tue, 22 Oct 1996 13:48:49 +0200 (CES)

---------------------------------------------------------------------------
[email-masked] is a mailing list for HPF 2.0 language specification
authors and editors.  Instructions for adding or deleting yourself from this
list appear at the bottom of this message.
---------------------------------------------------------------------------
According to Chuck Koelbel:
> The High Performance Fortran Forum is pleased to announce the availablility
> of _The High Performance Fortran Language Specification, version
> 2.0.delta_. 
> ***** IMPORTANT *****
> This is a public comment version of the document.  We value any and all
> reactions that you care to make.  These will be taken into consideration in
> preparing the final draft in December.  Please send your comments by e-mail
> to [email-masked].

One quick comment on <extrinsic kind>s: On 86:37+ HPF 2 specifies that

  "A <function-stmt> or <subroutine-stmt> that appears within an 
   <interface-block> within a program unit of an HPF extrinsic kind may 
   have an extrinsic prefix mentioning any extrinsic kind supported by
   the language implementation.
   If no <extrinsic-prefix> appears in such a <function-stmt> or
   <subroutine-stmt>, then it is assumed to be of the same HPF
   extrinsic kind as the program unit in which the interface block 
   appears."

I commented on the second scentence in HPF 1.1 which talked about the 
"host scoping unit" on 146:41, pointing out that an interface block in 
Fortran always has its own scope, and host association is *impossible* for 
interface blocks.

In HPF 2 the wording is changed but the semantics keeps the same. This is a
severe violation of Fortran scoping rules, and should be reconsidered!
The rules as they are *are* inconvenient (also for type kinds, for example),
but changing them probabily is not a good idea.

As an example, HPFF falls into this trap on page 90:11 and 90:19 when 
claiming that FUNCTION RKNISH is not EXTRINSIC. This is true for Fortran
scoping rules, but with the above HPF scoping, RKNISH has "the same HPF
extrinsic kind as the program unit in which the interface block appears."
This may or may not be HPF GLOBAL, and confusions of this kind will be
unavoidable with the HPF scoping rule.

Regards,
Michael

 ======================================================================
  Michael Hennecke      http://www.uni-karlsruhe.de/~Michael.Hennecke/ 
 ----------------------------------------------------------------------
  University of Karlsruhe         RFC822: [email-masked] 
  Computing Center (G20.21 R210)               No longer on BITNET :-(
  Zirkel 2  *  P.O. Box 69 80                 Phone: +49 721  608-4862 
  D-76128  Karlsruhe                               Fax: +49 721  32550 
 ======================================================================
---------------------------------------------------------------------------
To (un)subscribe to this list, send mail to [email-masked].
Leave the subject line blank, and in the body put the line
(un)subscribe <email-address>
---------------------------------------------------------------------------