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

Differences between 1.1 and version 1.2
Log of other versions for file ai12s/ai12-0408-1.txt

--- ai12s/ai12-0408-1.txt	2020/12/03 08:27:11	1.1
+++ ai12s/ai12-0408-1.txt	2020/12/04 07:59:30	1.2
@@ -1,4 +1,4 @@
-!standard 6.1(30/3)                                    20-12-02  AI12-0408-1/01
+!standard 6.1(30/3)                                    20-12-03  AI12-0408-1/02
 !standard 6.7(3/3)
 !standard 6.7(4/3)
 !standard 6.8(3.1/5)
@@ -55,11 +55,16 @@
 Modify 6.8(3.1/5):
 
   An expression_function_declaration {that is not a completion} declares an 
-  expression function. The return expression of an expression function is the
+  /expression function/. The /return expression of an expression function/ is the
   expression or aggregate of the expression_function_declaration. A completion
   is not allowed for an expression_function_declaration; however, an 
   expression_function_declaration can complete a previous declaration.
 
+[Editor's note: The term is "return expression of an expression function", not
+two separate terms as it was in the Ada 2012 corrigendum. Note that this 
+paragraph was moved up in Ada 202x, but it has existed from the initial 
+definition of expression functions.]
+
 Modify 6.8(7/4):
 
   The execution of an expression function is invoked by a subprogram call. For
@@ -72,9 +77,9 @@
 !discussion
 
 Whether or not a procedure is a "null procedure" is relevant to certain 
-legality rules.  In particular, when specifying certain aspects on a procedure
+legality rules. In particular, when specifying certain aspects on a procedure
 declaration, the legality may depend on whether the procedure is a null 
-procedure.  Clearly, such a legality rule cannot depend on how the procedure 
+procedure. Clearly, such a legality rule cannot depend on how the procedure 
 is completed, since the completion might well be in a separate compilation 
 unit.
 
@@ -88,6 +93,12 @@
 
 Similar issues arise whether or not a function is an "expression function".
 
+The term "return expression" of an expression function is intended to apply to
+all expression_function_declarations (since it is about rules inside of an
+expression function, not external uses). We keep the term, but make the entire
+phrase the term. This term phrase is used in a number of rules scattered 
+throughout the Standard, changing it is not appealing.
+
 !ASIS
 
 No ASIS effect.
@@ -123,5 +134,12 @@
 Sent: Tuesday, October 27, 2020  2:56 PM
 
 I agree that this would be a useful clarification.
+
+****************************************************************
+
+Editor's note: Tucker had noticed that the use of the term "null procedure" in
+the dynamic semantics was incorrect. I noticed that "expression function" has
+a similar definition (especially in 6.1), and thus needs a similar fix.
+Version /02 of the AI reflects all of the needed fixes.
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent