We disagree, sharply. The abbreviation of long keyword/set element values using the notion of a case-independent disambiguating truncation is 1) convenient and 2) easy to teach in the sense that programmers and others come to understand it quickly.
The start, stop, status problem that Fred raises is highly artificial. It is indeed a straw man. If a keyword set already contains 'start' and 'stop' there in no need to add 'status' to it. One can add another keyword value---'query', 'condition', 'info', or the like---instead. The merit of CIDTs as abbreviations is that they are algorithmically constructed. The alternatives are usually unattractive because they are arbitrary even when historically hallowed. Consider the names of the American "states" that begin with the letter 'A' and their postal-service abbreviations, viz., U.S. Armed Forces Americas, AA U.S. Armed Forces Europe, AE U.S. Armed Forces Pacific, AP Alabama, AL Alaska, AK Arkansas, AR Arizona, AZ Their derivaqtion isa not algorithmic; the lexicographic sequence of their abbreviations is different from that of their values; for example 'Alabama' < 'Alaska' but 'AK' < 'AL', etc., etc. Macro instructions are often, indeed usually, written by programmers who could only with some considerable difficulty write the macro definitions that implement them; and a coherent, easy to understand abbreviation scheme for keyword values is thus highly desirable. That at least is my view. The subject of The rationale for using macros ii will be normalizations, sequencing and comparisons. John Gilmore, Ashland, MA 01721 - USA
