CVS difference for ai05s/ai05-0184-1.txt
--- ai05s/ai05-0184-1.txt 2009/11/04 06:26:38 1.2
+++ ai05s/ai05-0184-1.txt 2010/02/25 03:40:30 1.3
@@ -1,4 +1,4 @@
-!standard A.18.17 (0) 09-11-02 AI05-0184-1/02
+!standard A.18.17 (0) 10-02-24 AI05-0184-1/03
!standard A.18.18 (0)
!standard A.18.19 (0)
!standard A.18.20 (0)
@@ -37,22 +37,23 @@
with the difference that the maximum storage is bounded.
Similar text exists for Bounded_Doubly_Linked_Lists, Bounded_Hashed_Maps,
-Bounded_Ordered_Maps, Containers.Bounded_Hashed_Sets, and Bounded_Ordered_Sets.
+Bounded_Ordered_Maps, Bounded_Hashed_Sets, and Bounded_Ordered_Sets.
Add an "Implementation Requirements" section at each of these 6 points which
follows the following template:
- For every pair of instances I1 and I2 of either of the two
- generics Containers.Vectors and Containers.Bounded_Vectors
- (I1 and I2 need not be instances of the same generic),
- if the two instances meet the following conditions
- then the output generated by I1.Vector'Output or I1.Vector'Write
- shall be readable by I2'Vector'Input or I2'Vector'Read, respectively:
+ For each instance of Containers.Vectors and each
+ instance of Containers.Bounded_Vectors,
+ if the two instances meet the following conditions
+ then the output generated by either instance's
+ Vector'Output or Vector'Write subprograms
+ shall be readable by the other instance's Vector'Input
+ or Vector'Read, respectively:
- the Element_Type parameters of the two instances are
statically matching subtypes of the same type (note that
distinct elaborations of a type declaration result in
distinct types); and
- - the output generated Element_Type'Output or Element_Type'Write
+ - the output generated by Element_Type'Output or Element_Type'Write
is readable by Element_Type'Input or Element_Type'Read,
respectively (where Element_Type denotes the type of
of the two actual Element_Type parameters); and
@@ -351,20 +352,93 @@
Sent: Monday, November 2, 2009 8:00 PM
>> if the the two instances meet the the following conditions
->
+>
> Stuttering here?? A strange fetish for the word "the"? ;-)
->
+>
> I've fixed this in the posted AI.
->
+>
Conservation of three-letter words.
Delete a "the" and insert a "for" into
"preceding two conditions also hold the Index_Type"
Randy Brukardt wrote:
-> Would you not need to have similar wording for the Key_Type parameter
+> Would you not need to have similar wording for the Key_Type parameter
> of maps?
Right. Thanks for catching that.
+
+****************************************************************
+
+From: Steve Baird
+Sent: Thursday, February 4, 2010 5:54 PM
+
+It was requested that I revise the proposed wording so that "it doesn't read
+like a math book".
+
+Perhaps it should read like a children's story?
+
+ So when the users got to the stream, they found three
+ instantiations - a baby bounded instance,
+ a regular instance, and a *great big* indefinite instance.
+ First, they read data from the stream with
+ Baby_Instance.Container'Read. Next, they read
+ data from the stream with Regular_Instance.Container'Read.
+ Finally, they huffed and they puffed and they invoked
+ Indefinite_Instance.Container'Read. They got the same
+ results in all three cases and they all lived happily
+ ever after.
+
+Maybe not.
+
+So let's try replacing the beginning of the currently proposed wording
+
+ For every pair of instances I1 and I2 of either of the two
+ generics Containers.Vectors and Containers.Bounded_Vectors
+ (I1 and I2 need not be instances of the same generic),
+
+with
+
+ For each instance I1 of Containers.Vectors and each
+ instance I2 of Containers.Bounded_Vectors,
+
+Tuck pointed out that there is no need to explicitly require container-streaming
+compatibility between two instances of the same generic - this follows
+implicitly from the new seemingly-weaker requirement and transitivity. If I1_A
+and I1_B are each compatible with I2, then they must be compatible with each
+other.
+
+Other nits noticed along the way:
+
+ Bounded_Hash_Sets alone is qualified in:
+
+ Similar text exists for Bounded_Doubly_Linked_Lists,
+ Bounded_Hashed_Maps, Bounded_Ordered_Maps,
+ Containers.Bounded_Hashed_Sets, and Bounded_Ordered_Sets.
+
+ Missing "by" in
+ the output generated [by] Element_Type'Output
+
+****************************************************************
+
+From: Steve Baird
+Sent: Thursday, February 4, 2010 6:31 PM
+
+With this change, do we also need to add an "(and vice versa)" in the immediately following text:
+
+ if the two instances meet the following conditions
+ then the output generated by I1.Vector'Output or I1.Vector'Write
+ shall be readable by I2'Vector'Input or I2'Vector'Read,
+ respectively {(and vice versa)}:
+?
+
+Or is it back to the drawing board with something like
+ For each instance of Containers.Vectors and each
+ instance of Containers.Bounded_Vectors,
+ if the two instances meet the following conditions
+ then the output generated by either instance's
+ Vector'Output or Vector'Write subprograms
+ shall be readable by the other instance's Vector'Input
+ or I2'Vector'Read, respectively
****************************************************************
Questions? Ask the ACAA Technical Agent