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

Differences between 1.17 and version 1.18
Log of other versions for file ai12s/ai12-0127-1.txt

--- ai12s/ai12-0127-1.txt	2017/12/14 23:45:48	1.17
+++ ai12s/ai12-0127-1.txt	2017/12/20 04:49:56	1.18
@@ -1,4 +1,4 @@
-!standard 4.3(2)                                    17-12-08    AI12-0127-1/11
+!standard 4.3(2)                                    17-12-14    AI12-0127-1/12
 !standard 4.3(3/2)
 !standard 4.3(4)
 !standard 4.3.1(9)
@@ -157,7 +157,7 @@
       * omit the component_choice_list; or
       * have a component_choice_list that is an /others/ choice.
 
-  For a record_delta_aggragate, no two component_selector_names shall
+  For a record_delta_aggregate, no two component_selector_names shall
   denote components declared within different variants of the same
   variant part.
 
@@ -229,9 +229,9 @@
 discrete_choice in an array_component_association is the index type of
 the type of the delta aggregate.
 
-The expected type of the expression in array_component_association is defined
-as for an array_component_association occurring within an array aggregate of
-the type of the delta aggregate.
+The expected type of the expression in an array_component_association is
+defined as for an array_component_association occurring within an array
+aggregate of the type of the delta aggregate.
 
 Legality Rules
 
@@ -288,8 +288,8 @@
      and assigned to the component of the anonymous object.
 
 For an array_delta_aggregate, for each discrete_choice of each
-array_component_assocation (in the order given in the enclosing
-discrete_choice_list and array_component_assocation_list, respectively) the
+array_component_association (in the order given in the enclosing
+discrete_choice_list and array_component_association_list, respectively) the
 discrete_choice is evaluated; for each represented index value (in ascending
 order, if the discrete_choice represents a range):
    * the index value is converted to the index type of the array type.
@@ -573,7 +573,7 @@
 @fa<discrete_choice> in an @fa<array_component_association> is the index type
 of the type of the @fa<delta_aggregate>.
 
-The expected type of the @fa<expression> in
+The expected type of the @fa<expression> in an
 @fa<array_component_association> is defined as for an
 @fa<array_component_association> occurring within an @fa<array_aggregate> of
 the type of the @fa<delta_aggregate>.
@@ -612,8 +612,8 @@
   and assigned to the component of the anonymous object.>
 
 For an @fa<array_delta_aggregate>, for each @fa<discrete_choice> of each
-@fa<array_component_assocation> (in the order given in the enclosing
-@fa<discrete_choice_list> and @fa<array_component_assocation_list>,
+@fa<array_component_association> (in the order given in the enclosing
+@fa<discrete_choice_list> and @fa<array_component_association_list>,
 respectively) the @fa<discrete_choice> is evaluated; for each represented
 index value (in ascending order, if the @fa<discrete_choice> represents a
 range):
@@ -3110,3 +3110,105 @@
 
 ****************************************************************
 
+From: Tucker Taft
+Sent: Thursday, December  7, 2017  7:55 PM
+
+...>  So an alternative is to just say what we mean:
+> 
+> In the case of an array component, the associated index expression is 
+> also evaluated, then converted to the index type of the array type. A 
+> check is made that each index value belongs to the index range of the 
+> anonymous object of the aggregate; Constraint_Error is raised if this 
+> check fails. The component expression is evaluated and assigned to the 
+> component of the anonymous array object identified by the index value.
+
+Much better.
+...
+> I wonder if we would be better off separating the record and array 
+> cases and explain where the expression comes from, how the component 
+> is identified, and so on. Sigh -- another full rewrite.
+> 
+> Thoughts? Suggestions? Tell me to forget about the dang AI and do 
+> something else?? :-)
+
+This is worth the energy, I think.  But you might just want to re-assign it
+to someone else, rather than beating yourself up about it.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Thursday, December  7, 2017  8:50 PM
+
+...
+> > In the case of an array component, the associated index expression 
+> > is also evaluated, then converted to the index type of the array 
+> > type. A check is made that each index value belongs to the index 
+> > range of the anonymous object of the aggregate; Constraint_Error is 
+> > raised if this check fails. The component expression is evaluated 
+> > and assigned to the component of the anonymous array object identified
+> > by the index value.
+> 
+> Much better.
+
+Too bad it isn't right. What is the "associated index expression" if the
+choice is a range? Doesn't make a whole lot of sense, unfortunately.
+
+...
+> > I wonder if we would be better off separating the record and array 
+> > cases and explain where the expression comes from, how the component 
+> > is identified, and so on. Sigh -- another full rewrite.
+> > 
+> > Thoughts? Suggestions? Tell me to forget about the dang AI and do 
+> > something else?? :-)
+> 
+> This is worth the energy, I think.  But you might just want to 
+> re-assign it to someone else, rather than beating yourself up about 
+> it.
+
+Well, assigning it to someone else is how we got this version. :-) I'd trust
+you to do it, but you have too much to do as it is.
+
+I'm mostly worried about running out of time/money for 2017; I wanted to get
+the draft RM posted soon so I can concentrate on homework (mine and others)
+in January. At least I was the primary author on the other two AIs yet to do,
+so they must be perfect already. ;-)
+
+[Editor's note: This discussion was then taken private.]
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Tuesday, December 12, 2017  11:11 PM
+
+Following is the current wording for AI12-0127-1, after the various revisions
+and corrections noted in previous mail. If you have any comments about this
+wording (especially non-editorial), please bring them up ASAP.
+We're going to have a Letter Ballot on this updated AI in a week or so, and it
+would be preferable if we don't have to do several of them because people
+objected to something after the vote starts.
+
+P.S. I haven't posted this version on the website yet, the version here is more
+current than the one on the website.
+
+[Editor's note: Following was the wording from version /11 of this AI.]
+
+****************************************************************
+
+From: Jeff Cousins
+Sent: Wednesday, December 13, 2017  5:52 AM
+
+A couple of editorial comments:
+
+For a record_delta_aggragate, no two component_selector_names shall
+  denote components declared within different variants of the same
+  variant part.
+
+aggragate -> aggregate
+
+The expected type of the expression in array_component_association is
+defined as for an array_component_association occurring within an
+array aggregate of the type of the delta aggregate.
+
+in -> in an
+
+****************************************************************

Questions? Ask the ACAA Technical Agent