CVS difference for ais/ai-00195.txt
--- ais/ai-00195.txt 2002/10/29 20:24:56 1.27
+++ ais/ai-00195.txt 2002/12/04 23:43:37 1.28
@@ -1,9 +1,9 @@
-!standard 8.3 (23) 02-10-23 AI95-00195/13
-!standard 13.13.1 (09)
-!standard 13.13.1 (27)
-!standard 13.13.1 (35)
-!standard 13.13.1 (36)
-!standard 13.13.1 (36.1)
+!standard 8.3 (23) 02-11-27 AI95-00195/14
+!standard 13.13.2 (09/1)
+!standard 13.13.2 (27)
+!standard 13.13.2 (35)
+!standard 13.13.2 (36/1)
+!standard 13.13.2 (36.1/1)
!class binding interpretation 98-03-27
!status Amendment 200Y 02-10-23
!status ARG Approved 5-0-5 02-10-12
@@ -76,9 +76,9 @@
the intermediate object is finalized? (Yes.) For a record type whose
components have initial values, are these values evaluated? (Yes.)
-2 - 13.13.2(36) states that "an attribute_reference for one of these
+2 - 13.13.2(36/1) states that "an attribute_reference for one of these
attributes is illegal if the type is limited, unless the attribute has been
-specified by an attribute definition clause."
+specified by an attribute_definition_clause ..."
If some stream-oriented attribute has been specified in a private part, and we
are at a point where declarations in that private part are not visible,
@@ -95,7 +95,7 @@
5 - In an attribute_definition_clause for a stream attribute, is it legal to
give a name that denotes an abstract subprogram? (No.)
-6 - 13.13.2(9) states that for a record type, the predefined S'Read reads
+6 - 13.13.2(9/1) states that for a record type, the predefined S'Read reads
the components in positional aggregate order. However, the language doesn't
seem to specify what happens when exceptions are raised by the calls to the
Read attribute for the components. Consider for example the following type
@@ -175,7 +175,7 @@
The call to P.T'Read is illegal, because the declarations and clauses
(including the attribute_definition_clause for Read) in the private part of P
are not visible in Q. On the other hand, at a place where the declarations and
-clauses in the private part of P are visible (and that comes after the
+clauses in the private part of P are visible (and that comes after the
attribute_definition_clause) a reference to T'Read is legal. This rule is
necessary to preserve the privacy of private types.
@@ -192,7 +192,7 @@
oriented attribute is "available" at some place in the program text if an
attribute_reference for that attribute is (or would be) legal at that place.
-The rules given in 13.13.2(9/1) try to insure that if the Read attribute
+The rules given in 13.13.2(9/1) try to ensure that if the Read attribute
is available for a limited tagged ancestor type, then it is also available for
all of the types derived from that ancestor. However, this is not true because
this rule fails to take into account the visibility issues mentioned in item #2
@@ -254,8 +254,8 @@
-4 - AI95-00145 specifies the meaning of the notation "italicized T" for
-operators as follows:
+4 - Defect Report 8652/0028 specifies the meaning of the notation "italicized T"
+for operators as follows:
"The italicized T shown in the definitions of predefined operators means:
@@ -270,7 +270,7 @@
would unnecessarily complicate the static and dynamic semantics.
When one of the stream-oriented attributes is specified by an attribute
-definition clause, 13.13.2(36) states that "the subtype of the Item
+definition clause, 13.13.2(36/1) states that "the subtype of the Item
parameter shall be the base subtype if scalar, and the first subtype
@@ -336,13 +336,13 @@
unspecified if C1 is modified or not.
Similarly, 13.13.2(35) describes what checks must/may be performed on
-components of a scalar of access types, but doesn't specify at which point
-these checks take place. This could make an observable difference: for
+components of a scalar or access types, but doesn't specify at which point
+these checks take place. This could make an observable difference: for
example, one implementation may check each discriminant as it reads it;
another might read all the discriminants and then check them all before
reading any other component; a third may attempt to read all the fields in
the record (or at least all the fields that don't depend on a
-discriminant) before checking any of the discriminants. Clearly we want to
+discriminant) before checking any of the discriminants. Clearly we want to
leave such implementation details unspecified, as overconstraining
implementations could have negative effects, notably in terms of performance.
@@ -350,8 +350,8 @@
7 - When the type has defaulted discriminants, the predefined Read attribute
must read them from the stream. It can be the case that the actual object
passed to Read is constrained. In this case, the discriminants found in the
-stream may or may not match those of the actual. If they don't match,
-Constraint_Error is raised, and this is a Discriminant_Check.
+stream may or may not match those of the actual. If they don not match,
+Constraint_Error is raised; the check is a Discriminant_Check.
It is unspecified whether this effect is achieved by assigning a temporary
object, as explained in #6 above, or by other means.
@@ -361,7 +361,7 @@
create an object whose tag designates T, which is absurd. We could decide
that T'Input is abstract, but it seems simpler to say that any
attribute_reference for this attribute is illegal, by analogy with the rule
-stated in 13.13.2(36) for limited types.
+stated in 13.13.2(36/1) for limited types.
9 - Surely the user could count the calls to the Read and Write operations
@@ -511,7 +511,7 @@
@fa<attribute_definition_clause>, and the @fa<attribute_definition_clause>
is visible; or>
@xbullet<where the corresponding attribute of @i<T> is available, provided
-that if @i<T> has a partial view, then corresponding attribute is available
+that if @i<T> has a partial view, the corresponding attribute is available
at the end of the visible part where @i<T> is declared.>
An @fa<attribute_reference> for one of the stream-oriented attributes is
@@ -536,7 +536,7 @@
S'Read, respectively. This rule applies across partitions if the implementation
conforms to the Distributed Systems Annex.
-If Constraint_Error is raised during a call on Read because of failure of one
+If Constraint_Error is raised during a call to Read because of failure of one
the above checks, the implementation must ensure that the discriminants of the
actual parameter of Read are not modified.
Questions? Ask the ACAA Technical Agent