Subject: Sequence and Storage Association from Matthijs van Waveren (Delft)

From: [email-masked]
Date: Fri, 5 Jun 92 16:44:00 CDT

( Matthijs served on the F90 committee.  He has ``had trouble'' getting
  onto the HPFF mailing lists, so I am posting this msg for him.

  Our internal user group (spread over four countries) has been discussing
  HPF issues.

  Peter
)

From: [email-masked] (Matthijs van Waveren)
To: [email-masked]
Subject: Sequence and Storage Association
Date: Fri, 5 Jun 92 16:09:17 CDT

The following comments can be made on whether SSA semantics should
be preserved in HPF. A similar discussion has previously taken place
in the Fortran 90 committee.

It is recognized that use of SSA will lead to saving of storage. However, 
from a software development point of view, it is a dangerous concept.

To keep HPF compatible with the older Fortran standards, it will be necessary
to keep SSA for Fortran 77 type COMMON blocks. 

In Fortran 90, alternatives for COMMON blocks are available. Since Fortran 90
will be the baseline for HPF, a new proposal should be considered:

  Support COMMON blocks with full Fortran 77 SSA and distribute it as a 
  block. Use the MODULE concept of Fortran 90 to make distributed arrays
  commonly available to different subprograms. This would make the creation
  of a new type COMMON unnecessary.

The following example of the use of modules for this purpose can be found in the
book of Metcalf and Reid: "Fortran 90 Explained", Chapter 5. 

PROGRAM GAME
 CALL SHUFFLE
 CALL DEAL
 CALL PLAY
 CALL DISPLAY
END PROGRAM GAME

The following MODULE might hold the state of the play of the game:

MODULE STATE
 INTEGER, DIMENSION(52) :: CARDS
END MODULE STATE

The statement

USE STATE 

appears at the beginning of the subprograms SHUFFLE, DEAL, PLAY 
and DISPLAY to make the state of the play accessible to those 
subprograms.

Cheers,
- -- 
 --------------------------------------------------------
| Matthijs van Waveren                                   |
| Schlumberger/GECO PRAKLA R&D and ISO/WG5               |
| P.O. Box 148, 2600 AC Delft, the Netherlands           |
| Tel=> Direct: (+31) 15 682106    Oper: (+31) 15 682100 |
 --------------------------------------------------------