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

Differences between 1.3 and version 1.4
Log of other versions for file ai12s/ai12-0183-1.txt

--- ai12s/ai12-0183-1.txt	2016/12/28 04:20:39	1.3
+++ ai12s/ai12-0183-1.txt	2017/04/07 05:24:13	1.4
@@ -1,4 +1,5 @@
-!standard D.4(4)                                      16-12-15  AI12-0183-1/02
+!standard 3.7.2(3/3)                                    17-04-06  AI12-0183-1/03
+!standard 4.9(2)
 !standard D.4(4)
 !standard D.4(7/5)
 !class presentation 16-03-23
@@ -20,6 +21,8 @@
 
 3) The header "Static Semantics" is missing from 4.9.
 
+4) Define the type of the object Constrained attribute in 3.7.2.
+
 !question
 
 1) AI12-0163-1 defines policy Ordered_FIFO_Queuing. But the Legality Rule
@@ -35,6 +38,11 @@
 Only paragraph 1 appears to be introductory, should there be a Static Semantics
 portion in this subclause? (Yes.)
 
+4) 3.7.2(3/3) says that the result of A'Constrained is either True or False,
+but it never gives the type of the attribute. Compare to T'Callable, which
+explicit says that the type of the attribute is Boolean. Should this be
+fixed? (Yes.)
+
 !recommendation
 
 (See Summary.)
@@ -62,6 +70,10 @@
 
 3) Add a "Static Semantics" header before 4.9(2).
 
+4) Add to the end of 3.7.2(3/3):
+  
+   The value of this attribute is of the predefined type Boolean.
+
 !discussion
 
 1) This is a clear omission from AI12-0163-1. Obviously, if we define a queuing
@@ -78,6 +90,27 @@
 paragraph 1. This almost certainly was a cut-and-paste error where someone
 forgot to change the label in the @begin and @end.]
 
+4) The type of this attribute has been missing since the earliest versions of
+Ada 9x (the author checked back to version 2.0 - which was the first version
+to have complete wording). Interestingly, the sentence giving the type was
+in the Ada 83 wording, so it was presumably lost in transcription.
+
+The odd thing is that no one ever reported the mistake until 2017; that was
+just short of 24 years since it was made. That shows the difficulty of noting
+errors of omission.
+
+!corrigendum 3.7.2(3)
+
+@drepl
+@xhang<@xterm<A'Constrained>
+Yields the value True if A denotes a constant, a value, a tagged
+object, or a constrained variable, and False otherwise.>
+@dby
+@xhang<@xterm<A'Constrained>
+Yields the value True if A denotes a constant, a value, a tagged
+object, or a constrained variable, and False otherwise. The value of this
+attribute is of the predefined type Boolean.>
+
 !corrigendum 4.9(2)
 
 @drepl
@@ -121,5 +154,34 @@
 
 !appendix
 
+From: Randy Brukardt
+Sent: Friday, February 10, 2017  5:55 PM
+
+In researching a suggestion from Tucker, I happened to notice that 3.7.2(3/3)
+does not give any type for the attribute Constrained. The text gives the
+results as True and False, but no type. Contrast to 'Callable, for instance:
+
+A'Constrained
+Yields the value True if A denotes a constant, a value, a tagged object, or a
+constrained variable, and False otherwise. 
+
+T'Callable
+Yields the value True when the task denoted by T is callable, and False
+otherwise; a task is callable unless it is completed or abnormal. The value
+of this attribute is of the predefined type Boolean.
+
+We need the second sentence in A'Constrained.
+
+In the absence of an objection, I'll put this into the presentation AI.
+
 ****************************************************************
+
+From: Jeff Cousins
+Sent: Saturday, February 11, 2017  3:24 AM
+
+OK
+
+Sent from my HTC
+
+***************************************************************
 

Questions? Ask the ACAA Technical Agent