CVS difference for ai12s/ai12-0242-1.txt

Differences between 1.15 and version 1.16
Log of other versions for file ai12s/ai12-0242-1.txt

--- ai12s/ai12-0242-1.txt	2019/01/13 05:14:53	1.15
+++ ai12s/ai12-0242-1.txt	2019/01/16 01:11:26	1.16
@@ -1,5 +1,7 @@
-!standard 4.5.9 (0)                                19-01-12    AI12-0242-1/08
+!standard 4.5.9 (0)                                19-01-15    AI12-0242-1/09
 !class Amendment 14-06-20
+!status Amendment 1-2012 19-01-15
+!status ARG Approved 12-0-0  19-01-14
 !status work item 14-06-20
 !status received 14-06-17
 !priority Medium
@@ -18,7 +20,7 @@
 reductions is to summarize the values of an array or iterable container
 object. Using the syntax of AI12-0262-1, one could write an expression
 such as the following to produce the sum of all components of an array or
-elements of a container;
+elements of a container:
 
     Sum : constant Integer := [for Value of A => Value]'Reduce("+", 0);
 
@@ -30,7 +32,7 @@
 shorthand form where the value_generator syntax could be replaced with a
 simple prefix that is a name denoting an array or iterable container object.
 
-eg.   The above statement could be rewritten as;
+For example, the above statement could be rewritten as:
 
     Sum : constant Integer := A'Reduce("+", 0);
 
@@ -38,7 +40,7 @@
 to provide explicit parallelism. Using the syntax of that AI, that
 can be accomplished by inserting the parallel keyword in the value_generator
 specification. For example, the original statement above could be written
-as;
+as:
     Sum : constant Integer := [parallel for Value of A => Value]'Reduce("+", 0);
 
 It would be desirable if a shorthand form could be provided that still
@@ -48,17 +50,17 @@
 !proposal
 
 This proposal depends on parallel iteration support for
-containers (AI12-0266-1) and AI12-0262-1 which provides general support for
+containers (AI12-0266-1) and AI12-0262-1, which provides general support for
 reduction expressions.
 
 The proposal is to extend the syntax for reduction expressions to allow
 the value_generator to be replaced with a prefix that denotes an array
 object or iterable container object. To allow parallelism to be explicitly
 requested for this shorthand form, a new attribute, 'Parallel_Reduce is
-defined. The 'Reduce shorthand form is synatically equivalent to writing
+defined. The 'Reduce shorthand form is syntactically equivalent to writing
 a value_generator that produces values for all array components or container
 elements without the parallel keyword specified, and the 'Parallel_Reduce
-is syntatically equivalent to the same but with the parellel keyword specified.
+is syntactically equivalent to the same but with the parallel keyword specified.
 
 !wording
 
@@ -112,22 +114,23 @@
 
 Add the following to the Dynamic Semantics of subclause 4.5.9:
 
-The following attributes are defined for a prefix O that is of an
+The following attributes are defined for a prefix X that is of an
 array type (after any implicit dereference), or denotes an /iterable container
 object/:
 
-O'Reduce(Reducer, Initial_Value[, Combiner])
+X'Reduce(Reducer, Initial_Value[, Combiner])
 
-   O'Reduce is a reduction expression that yields a result equivalent to
+   X'Reduce is a reduction expression that yields a result equivalent to
    replacing the prefix of the attribute with the value_generator:
-   [for Item of O => Item]
+   [for Item of X => Item]
 
 
-O'Parallel_Reduce(Reducer, Initial_Value[, Combiner])
+X'Parallel_Reduce(Reducer, Initial_Value[, Combiner])
 
-   O'Parallel_Reduce is a reduction expression that yields a result
-   equivalent to prefix of the attribute with the value_generator:
-   [parallel for Item of O => Item]
+   X'Parallel_Reduce is a reduction expression that yields a result
+   equivalent to replacing the prefix of the attribute with the 
+   value_generator:
+   [parallel for Item of X => Item]
 
 Modify the second AARM Implementation Note in Dynamic Semantics of 4.5.9:
 AARM Implementation Note:

Questions? Ask the ACAA Technical Agent