--- 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