CVS difference for ai05s/ai05-0044-1.txt

Differences between 1.1 and version 1.2
Log of other versions for file ai05s/ai05-0044-1.txt

--- ai05s/ai05-0044-1.txt	2007/04/03 05:07:53	1.1
+++ ai05s/ai05-0044-1.txt	2007/07/26 02:58:06	1.2
@@ -1,4 +1,4 @@
-!standard A.18(4/2)                                               07-04-02    AI05-0044-1/01
+!standard A.18(4/2)                                               07-07-17    AI05-0044-1/02
 !standard A.18.2(231/2)
 !standard A.18.3(145/2)
 !standard A.18.6(57/2)
@@ -20,7 +20,7 @@
 
 "Sorted smallest first" also is defined.
 
-"=" formal functions for the Set containers are required to return True for equivalent
+"=" formal functions for the Set containers are required to return False for non-equivalent
 elements.
 
 !question
@@ -73,8 +73,8 @@
 Make similar changes to A.18.3(145/2), A.18.6(57/2), A.18.9(79/2), A.18.16(5/2),
 and A.18.16(9/2).
 
-Add "If the actual for the generic formal function "=" does not return True for any
-pair of equivalent elements, then the behavior of the container function "=" is unspecified."
+Add "If the actual for the generic formal function "=" returns True for any pair
+of non-equivalent elements, then the behavior of the container function "=" is unspecified."
 to A.18.8(65.2) and A.18.9(79/2).
 
 
@@ -1527,6 +1527,32 @@
 
 This is required to allow implementations to compare only
 equivalent elements to determine the result of set-wise "=".
+
+****************************************************************
+
+From: Pascal Leroy
+Date: Tuesday, July 17, 2007  2:58 AM
+
+The last bit of wording in this AI [version /01 - ED] has:
+
+Add "If the actual for the generic formal function "=" does not return
+True for any pair of equivalent elements, then the behavior of the
+container function "=" is unspecified."
+to A.18.8(65.2) and A.18.9(79/2).
+
+This is wrong.  As explained in the email thread of the AI, the
+requirement ought to be that equality implies equivalence, not the other
+way around.  Think of a set of strings: equality could be normal string
+equality, and equivalence could be based on case-insensitive comparison.
+This is fine, as it makes it possible to implement set equality in linear
+time, but it fails the above rule.
+
+The wording should be changed to:
+
+Add "If the actual for the generic formal function "=" returns True for
+any pair of non-equivalent elements, then the behavior of the container
+function "=" is unspecified."
+to A.18.8(65.2) and A.18.9(79/2).
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent