Version 1.5 of ais/ai-00124.txt

Unformatted version of ais/ai-00124.txt version 1.5
Other versions for file ais/ai-00124.txt

!standard 01.02 (08)          99-08-31 AI95-00124/04
!standard 02.01 (08)
!class binding interpretation 96-10-07
!status Corrigendum 2000 99-07-28
!status WG9 approved 96-12-07
!status ARG approved 11-0-0 96-10-07
!status work item (letter ballot requested and failed) 96-09-15
!status ARG approved 6-0-2 96-06-17
!status work item 96-04-04
!status received 96-04-04
!priority High
!difficulty Easy
!qualifier Clarification
!subject The AE characters are allowed in identifiers
!summary
The characters LATIN CAPITAL LETTER AE and LATIN SMALL LETTER AE are allowed in identifiers.
!question
2.1(8-9) say:
upper_case_identifier_letter
Any character of Row 00 of ISO 10646 BMP whose name begins ``Latin Capital Letter''.
lower_case_identifier_letter
Any character of Row 00 of ISO 10646 BMP whose name begins ``Latin Small Letter''.
The letters allowed in identifiers are then restricted to lower_case_identifier_letters and upper_case_identifier_letters.
The version of 10646-1:1993 referred to in 1.2(8) names codes C6 and E6 as "Latin Capital Ligature AE" and "Latin Small Ligature AE".
This seems to imply that these characters are not allowed in identifiers. Are these characters allowed in identifiers? (Yes.)
!recommendation
(See summary.)
!wording
(See corrigendum.)
!discussion
Technical Corrigendum 1 of 10646 names these characters LATIN CAPITAL LETTER AE and LATIN SMALL LETTER AE. The intent was that these letters be allowed in identifiers.
!corrigendum 1.2(8)
Replace the paragraph:
ISO/IEC 10646-1:1993, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane.
by:
ISO/IEC 10646-1:1993, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane, supplemented by Technical Corrigendum 1:1996.
!ACATS test
ACATS test C250002.A uses these characters.
!appendix

!section 2.1(08)
!subject  Are AE Ligatures allowed in identifiers
!reference RM95-2.1(8)
!reference RM95-2.1(9)
!from  Robert I. Eachus 95-02-22
!keywords ligatures ISO-10646
!reference 96-5428.a Robert I. Eachus 96-2-22>>
!discussion

   The wording of RM95-2.1(8&9) seems to disallow the AE ligatures in
identifiers.  Is this accidental, or intentional?

   Kent Karlsson <kent@cs.chalmers.se> said:

  > See section 2.1, paragraphs 8 and 9 (I think): The definitions of
  > upper_case_ identifier_letter and lower_case_identifier_letter
  > restricts them to those whose names begin with "Latin Capital
  > Letter" and "Latin Small Letter" respectively.  And the version of
  > 10646-1 referred to (the 1993 one) names =C6 and =E6 as "Latin
  > Capital Ligature AE" and "Latin Small Ligature AE" resp.  (I don't
  > know if those names are going to change, ask Keld.)  The letters
  > allowed in identifiers are then restricted to
  > lower_case_identifier_letters and upper_case_identifier_letters.
  > =C6 and =E6 are thus normatively excluded from identifiers.

  > If I somehow have an out-of-date version and it is corrected in a newer
  > version or if I have misinterpreted something, I apologise.

   No, this looks like an unintentional effect of "editorial
revision."  The wording in the 15 September 1993 version is:

   upper_case_letter  Any letter that is a capital letter in ISO 8859-1.

****************************************************************

!from Kiyoshi Ishihata 99-06-28

Rationale for corrigendum wording.


This is a quite indirect way to express the intent.  I could not find
any other way, since the exact name (including published year) of
10646 itself is not directly referred to in 2.1.

Although I could not find any relevant record in the minutes of the past
ARG meetings, I believe that there was a consensus in ARG that we do not
follow the moving target even if 10646 is revised in the future.  If we
decide to incorporate a specific revision of 10646 in RM, we should
explicitly mention it.  Thus the above proposal.

There is one more Technical Corrigendum for 10646 published in 1998,
but it does not impact Ada language rules.  I think that this
should not be mentioned in 1.2.

****************************************************************

Questions? Ask the ACAA Technical Agent