Subject: Chapter 4

From: Rob Schreiber <[email-masked]>
Date: Tue, 13 Apr 93 10:45:40 PDT

Chapter 4:  
1. page 55.  "with the value of 1" should be "with the value 1".

2. What are the constraints on the form of *scalar-mask-expr*?
Is this okay?

   FORALL(I = 1:N, A(10,3) > 75) B(I) = 1776.00

This?

   FORALL(I = 1:N, J = 1:20, A(I,3) > 75) B(I,J) = 1812.00

3.  The repeated use of "Advice to users" in the examples sections  (4.1.3), (4.2.3),
(4.4.3), and (4.4.1) is unnecessary and jarring.

4.   The constraint of Section 4.3.1.1 permit:
     
	PURE FUNCTION KOELBEL(X)
	REAL X(:,:)
        INHERIT X
        DISTRIBUTE X (CYCLIC(4))

which should not be permitted.    It is necessary to bar dummies from
*prescriptive* mapping directives altogether.   Descriptive mapping directives
are okay.  So is the inherit attribute.  So is DISTRIBUTE * ONTO * (which is
the default for a dummy with the INHERIT attribute.)

Page 80.   The discussion of NEW implies that the old private variables are not
referenced after execution of the loop (they are dead) until they are redefined.
This should be explicitly stated.   Make it clear that it is as if the NEW
variables are undefined following the loop, so it may not be correctly asserted
that X is a NEW variable if its "last" value is referenced later.

--------    Rob Schreiber