From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b2fd0b270e39b5 X-Google-Attributes: gid103376,public From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) Subject: Re: Defending Mike Feldman Date: 1997/02/13 Message-ID: <5dubbi$ibm$1@goanna.cs.rmit.edu.au>#1/1 X-Deja-AN: 218446474 References: Organization: Comp Sci, RMIT, Melbourne, Australia Newsgroups: comp.lang.ada NNTP-Posting-User: ok Date: 1997-02-13T00:00:00+00:00 List-Id: collins@cs.wm.edu (Bob Collins) writes: >Recently, Mike went through Ada hell [read, was mildly criticised] >for writing reserved words in uppercase only in his textbook. >He "violated" the new "standard" of Ada capitalization as described in the Ada Quality and Style Guidelines, developed after a lot of thought and input from a lot of people, representing a lot of experience. >Well, how come when we use Enumeration_IO we can only print > AN_ENUMERATION_LITERAL >or > another_enumeration_literal >but not > A_Stylish_Enumeration_Literal? Because the declaration is type Type_Set is (Lower_Case, Upper_Case); instead of type Type_Set is (Lower_Case, Upper_Case, Mixed_Case); (:-) Note that _no_ edition of the Ada standard or style guide has ever recommended anything but lower case for keywords. The AQ&S guide was fixed in its upgrade. There was a *mountain* of work went into revising the Ada standard; this one probably fell through the cracks. With Ada 95's move to ISO 10646, I suspect that the really clued up Ada revision people might have been aware of the advice in section 4.1 of the Unicode 2.0 book: Because there are many more lowercase forms than there are uppercase or titlecase, it is recommended that the lowercase form be used for normalization, such as when strings are case-folded for loose comparison or indexing. Now Ada 95 doesn't allow Unicode letters in identifiers, but there again, the revisers may well have been aware of section 5.14 "Identifiers", which gives the Unicode recommendation for identifiers. Or of section 4.1 that points out that the Turkish uppercase of "i" is a *dotted* capital I, while the Turkish lowercase of "I" is a *dotless* i, so that even upper casing "i" depends on locale. So they _may_ have decided to leave this glitch in the language until identifier and case mapping issues were satisfactorily resolved in the context of ISO 10646. I for one would _hate_ to see them act in haste, because then we'd _all_ be left to repent at leisure. -- limits on the scope of cooperation are often due to the inability to recognise the identity or the acts of the other playes. --R.Axelrod Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.