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

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

--- ai05s/ai05-0227-1.txt	2011/01/23 06:45:36	1.2
+++ ai05s/ai05-0227-1.txt	2011/01/27 06:06:17	1.3
@@ -41,7 +41,7 @@
 When this International Standard mentions the conversion of some character or sequence
 of characters to upper case, it means the character or sequence of characters obtained
 by using simple upper case mapping, as defined by documents referenced in the note
-in section 1 of ISO/IEC 10646:2003. 
+in section 1 of ISO/IEC 10646:2003.
 
 Replace 2.3(5/3):
 
@@ -85,7 +85,7 @@
 distinct letters, so the case folded equivalent of LATIN CAPTIAL LETTER I is LATIN SMALL LETTER DOTLESS I,
 and the case folded equivalent of LATIN CAPTIAL LETTER WITH DOT ABOVE I is LATIN SMALL LETTER I.
 Take for instance the following identifier (which is the name of a city on the Tigris river in
-Eastern Anatolia): 
+Eastern Anatolia):
 
    D<I>YARBAKIR -- First I is dotted, second is not.
 
@@ -97,7 +97,7 @@
 
    d<I>yarbakir
 
-which is different any of: 
+which is different any of:
 
    <the four values in 6.f>
 
@@ -105,7 +105,7 @@
 (used in '[Wide_]Wide_Image) introduces additional problems.
 
 An implementation targeting the Turkish market is allowed (in fact, expected) to
-provide a nonstandard mode where case folding is appropriate for Turkish. 
+provide a nonstandard mode where case folding is appropriate for Turkish.
 
 
 Replace 3.5.1(5):
@@ -1858,6 +1858,119 @@
 fixes except for the composition of untagged record "=" change, which we all
 agreed was preferrable to trying to figure out some way for the old semantics to
 hold. It almost always would fix a bug rather than introduce one anyway.
+
+****************************************************************
+
+From: Christoph Grein
+Sent: Sunday, December 19, 2010  6:05 PM
+
+Robert Dewar gave this example (* the German sharp s):
+
+   package X is
+     Y*  : Integer;
+     Yss : Integer;
+   end X;
+
+and later E*en and ESSEN (but there is no word E*en, of course there is no
+German complaining about a non-existing word).
+
+Just to give a more appropriate example:
+
+Bu*e and Busse are two different words in German (pronounced differently), the
+first meaning a fine or penitence, the second the plural buses.
+
+But in Switzerland, they don't write the sharp s *, so the two word written are
+indistinguishable.
+
+BTW: There has been defined and entered a capital form of * meanwhile (don't
+know the code point).
+
+****************************************************************
+
+From: Georg Bauhaus
+Sent: Monday, December 20, 2010  8:05 AM
+
+> BTW: There has been defined and entered a capital form of * meanwhile
+> (don't know the code point).
+
+http://unicode.org/versions/Unicode5.1.0/#Tailored_Casing_Operations
+Uppercasing U+00DF ( á ) LATIN SMALL LETTER SHARP S to the new U+1E9E
+LATIN CAPITAL LETTER SHARP S
+
+****************************************************************
+
+From: Georg Bauhaus
+Sent: Monday, December 20, 2010  8:37 AM
+
+> Just to give a more appropriate example:
+>
+> Bu*e and Busse are two different words in German (pronounced
+> differently), the first meaning a fine or penitence, the second the
+> plural buses.
+>
+> But in Switzerland, they don't write the sharp s *, so the two word
+> written are indistinguishable.
+
+Some more technical examples of, I'd guess, possible relevance in actual
+programs (assuming absence of * in Swiss German means ss), and a question:
+
+- Ma* (measure, noun)
+Swiss German:  Mass
+
+- Ma*e (plural of Ma*)
+Swiss German: Masse
+
+- Masse (German for mass)
+Swiss German: Masse
+
+(Notice how both Masse and Masse mean two very different, yet related things in
+Swiss German.)
+
+- ma* (past simple of messen, verb (to measure)) Swiss German: mass
+
+MASS: upper case spelling
+
+
+Ada 95 has introcuded Latin_1 such that ss and * are allowed generate different
+identifiers.  This seems consistent with the assumption that identifiers don't
+have an "=" operation of their own, really.  Rather, comparison of identifiers
+just delegates to comparing components, presuming an identifier is nothing more
+than a subtype of some String type, and not a distinct Identifier type (with
+whatever representation).
+
+Does ISO 10646, by referring to Unicode casing options and algorithms, suggest,
+then, that Ada should start considering identifiers as objects of a distinct
+type, one that is conceptually  independent of its constituent parts'?
+
+****************************************************************
+
+From: Adam Beneschan
+Sent: Monday, December 20, 2010  10:03 AM
+
+Question: When I studied German (in school, and partly from my father who is a
+native [Donauschwaben] German speaker), I learned that using á was
+optional--i.e. you could always write "ss" instead of á, but not the other way
+around (there are cases where á is inappropriate).  Is this correct?  Also, I
+was under the impression that the rules for when á could be used changed in
+recent years.
+
+It may not be entirely an academic question, if it relates to an issue of what
+algorithm Ada should use for determining whether identifiers are identical.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Monday, December 20, 2010  12:22 PM
+
+The entire set of examples using sharp-s was based on a mistaken understanding
+of the Unicode case folding mechanism. Ada 2005 mistakenly defines it as
+"convert to upper case", but the actual mapping is to *lower case*. Thus Ada
+2005 is extremely confused on this.
+
+Sharp-s is always different than any other character in Unicode. So any examples
+using sharp-s are irrelevant, at least as far as identifier equivalence is
+concerned. If you want to give examples using the Turkish dotless I, then there
+might be something to talk about...
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent