!standard 3.10.2(32/2) 11-02-04 AI05-0239-1/01 !standard 4.6(24.20/2) !standard 6.3.1(17) !standard 8.5.4(4) !standard 8.5.4(5/1) !standard 8.6(25.2/2) !standard 12.5.4(5) !standard 12.6(7) !standard 12.6(8) !class presentation 11-02-04 !status work item 11-02-04 !status received 10-10-20 !priority Low !difficulty Easy !subject Hyphens in mode conformant !summary Remove excess hyphens from "mode conformant" and similar terms in the Standard. !question The changes in AI05-0134-1 and AI05-0142-4 eliminated extra hyphens from the terms "type conformant" and "subtype conformant" in 6.3.1, as these terms are defined without the hyphens. But 6.3.1(17) has a similar problem with "mode-conformant". In addition, there are similar uses elsewhere in the standard which are inconsistent. Please fix this. !recommendation (See Summary.) !wording Remove hyphens from the terms "mode conformant", "type conformant", and "subtype conformant" (and variations on those) from the following paragraphs: [Note: We did not find any hyphenated occurrences of "fully conformant"; also, this list does not include any occurrences in paragraphs changed by other AIs; the correction was made in those AIs.] 3.10.2(32/2) 4.6(24.20/2) 6.3.1(17) 8.5.4(4) 8.5.4(5/1) 8.6(25.2/2) 12.5.4(5) 12.6(7) 12.6(8) AARM notes: 3.10.2(32.b) 8.6(26.a) 12.3(11.j) 12.5.1(21.a/2) !discussion Hyphens should only appear in these terms when they are used as an adjective directly in front of a noun. The uses marked here do not qualify; there are a few (four: AARM notes in Chapters 3 and 7, and two normative uses in Annex E) instances of these terms that were left unchanged because they do qualify. We did not change all of the terms to use hyphens, as the definitions (and index entries!) do not use hyphens, and it would be weird to add those hyphens (making a bigger change). Note: We are not going to include these changes in the Amendment document, as they only change the punctuation in the standard. That's one reason why this was given a separate AI from other presentation changes. We also wanted a place to link to from the standard to explain the reasons for the change. Finally, we needed a place to file the mail on this important topic. :-) !ACATS test No tests needed for presentation issues. !appendix From: Randy Brukardt Sent: Wednesday, October 20, 2010 11:03 PM Do either of you know why Ada sometimes writes "mode-conformant" and sometimes writes "mode conformant". The term is defined without the hyphen. The vast majority of uses of this term are not as an adjective, so that reason is out (although I'll check for this before changing any of these). I ask because I have a request from the Canadian HoD to make this consistent, and I don't want to do it and then have you guys object over some subtlety that I missed. There are 6 occurrences of "mode-conformant" in the AARM source, and 5 occurrences of "mode conformant" (some of the former might be deleted). Similarly, there are 16 occurrences of "type-conformant" in the AARM source, and 34 occurrences of "type conformant". (Again, some of the former might be deleted; and these include all examples of subtype conformant as well. And the term is defined as "type conformant".) **************************************************************** From: Tucker Taft Sent: Thursday, October 21, 2010 9:46 AM I agree it probably should only be hyphenated when used immediately in front of a noun. Hence "mode-conformant subprograms" but "the two subprograms shall be mode conformant." I'm not surprised we weren't consistent. I don't think we had Gary the hyphen maven riding our every step at that time. Bob cared about "only" and "that" if I remember correctly, but didn't make a big deal about "-". **************************************************************** From: Bob Duff Sent: Thursday, October 21, 2010 9:49 AM > Do either of you know why Ada sometimes writes "mode-conformant" and > sometimes writes "mode conformant". Before about 1993, I would put in hyphens willy-nilly. Ken Dritz taught me that the rule is you _may_ put a hyphen, if the phrase is an adjective preceding a noun, and you think it clarifies (which, IMHO, is common). So you can say "X is a type-conformant gizmo", but "X shall be type conformant". Searching for all occurrences of "mode-" and "type-", I see three that look correct: 7.p If T3 or T4 were to declare a type-conformant Op2, this would override the one inherited from Root. This is different from the situation with T2. 11/2 * {AI95-00431-01} A value of a remote access-to-subprogram type shall be converted only to or from another (subtype-conformant) remote access-to-subprogram type; 12 * The prefix of an Access attribute_reference that yields a value of a remote access-to-subprogram type shall statically denote a (subtype-conformant) remote subprogram. And the rest should have the hyphen removed. Search for "mode-", so you don't miss "mode-conformance" as well as "mode-conformant". OTOH, there is some value in the "if it ain't too broke, don't fix it" theory. We can't do type checking and regression testing of the RM text, so I'm more reluctant to make changes (compared to, say, changes to the GNAT FE). **************************************************************** From: Bob Duff Sent: Thursday, October 21, 2010 9:56 AM > I'm not surprised we weren't consistent. I don't think we had Gary... Ah, yes. Randy, if you have questions about the English language, you should always ask Gary Dismukes. I'll cc: him. **************************************************************** From: Randy Brukardt Sent: Thursday, October 21, 2010 1:02 PM > OTOH, there is some value in the "if it ain't too broke, don't fix it" > theory. We can't do type checking and regression testing of the RM > text, so I'm more reluctant to make changes (compared to, say, changes > to the GNAT FE). Well, yes. The rule that we've generally been following is that we only correct hyphens and the like if we're modifying the paragraph in question. However, in this case, I have a direct request from Canada (Brad and Steve) to fix other occurrences of the problem. I tried the same argument you just did, and it didn't work. So I need to fix this (someday), as I can't really refuse a reasonable request from an NB. I believe that their concern is that we fixed some occurrences in 6.3.1, but there are other examples in adjacent paragraphs of 6.3.1 and the inconsistency is jarring. Perhaps only fixing those in 6.3.1 would be enough to allay their concerns (that would be certainly less work for me than doing the entire standard). **************************************************************** From: Gary Dismukes Sent: Thursday, October 21, 2010 1:20 PM > > Before about 1993, I would put in hyphens willy-nilly. > > Ken Dritz taught me that the rule is you _may_ put a hyphen, if the > > phrase is an adjective preceding a noun, and you think it clarifies > > (which, IMHO, is common). > > So you can say "X is a type-conformant gizmo", but "X shall be type > > conformant". > > > > ... As with most usage issues in English, there aren't hard and fast rules and there isn't consistent agreement among style guides. But it's a pretty commonly followed rule that compound adjectives preceding a noun should be hyphenated to avoid ambiguity (though there are exceptions, such as when the first word ends in -ly). When following the noun, such as after a verb, it's usual to leave out the hyphen, though there are some authorities who suggest using the hyphen when the compound follows the verb "to be" or an inflection of that verb (so says Wikipedia *). In that context, the hyphen isn't usually needed to avoid ambiguity, but personally I think it's reasonable to use the hyphen if it's a technical term that is often used to modify a noun. I don't think it hurts readability to use the hyphen in that context, and maybe even helps, and it's just easier to spell it consistently one way rather than worry about when the hyphen is needed. Also, that way the spelling would always match the technical term. Anyway, my recommendation would be to always spell "mode-conformant" (and the other *-conformant terms) with the hyphen, because it's easier to ensure consistency. But that's just one guy's opinion. :-) > > And the rest should have the hyphen removed. > > > > Search for "mode-", so you don't miss "mode-conformance" > > as well as "mode-conformant". Right, "mode conformance" should be spelled without a hyphen. I think there's at least one violation of that in the RM. I can go either way on whether "mode-conformant" should be spelled without a hyphen in other contexts, but as stated above my preference would be to always spell it with the hyphen. > > OTOH, there is some value in the "if it ain't too broke, don't fix > > it" theory. We can't do type checking and regression testing of the > > RM text, so I'm more reluctant to make changes (compared to, say, > > changes to the GNAT FE). True, though making the spelling consistent seems like a pretty innocuous change, and consistency is usually a good thing (when it's not foolish;-). * From the Wikipedia page on hyphen usage: When a compound adjective follows the term it applies to, a hyphen is typically not used. For example, "that gentleman is well respected", not "that gentleman is well-respected".[6] Some authorities differ, and recommend the hyphen when the compound adjective follows the verb to be or any of its inflections.[7] **************************************************************** From: Randy Brukardt Sent: Thursday, October 21, 2010 1:26 PM ... > I don't think it hurts readability to > use the hyphen in that context, and maybe even helps, and it's just > easier to spell it consistently one way rather than worry about when > the hyphen is needed. > Also, that way the spelling would always match the technical term. As I originally noted, the all of the technical terms are defined without the hyphen. Also, there are more occurrences without the hyphen than with it (although it is very close, it's nearly a 50-50 split). Thus I'd definitely go for removing, not adding the hyphen. **************************************************************** From: Gary Dismukes Sent: Thursday, October 21, 2010 1:51 PM OK, though I continue to feel that it's best to use the hyphen in the noun-preceding context, which was part of why I was arguing to just use it in all contexts. However, I can see how changing the spelling of the established term definition could be perceived as rocking the boat too much. BTW, looking at the Ada 2005 RM, it's funny that the term definitions in paragraphs 16-18 spell the term being defined without the hyphen, and then go on to refer to the term defined in the immediately preceding paragraph by using the hyphen (e.g., "... are mode conformant if they are type-conformant ..."). I see that, in the online 2012 RM, one of those (p. 16/3) was changed to remove the hyphen, but not the others (yet:-). **************************************************************** From: Randy Brukardt Sent: Thursday, October 21, 2010 2:23 PM Right. It's that way in Ada 95 as well. That's what the Canadian delegation saw and complained about. It looks bizarre. I think the change came about because someone (probably named Gary :-) noticed that in the one paragraph we were working on and asked that it be corrected. But of course its not consistent even within the clause. I'm thinking to just change this clause so it is consistent, and leave the rest for some other time. **************************************************************** From: Brad Moore Sent: Friday, October 22, 2010 6:10 AM I think that sounds like a reasonable approach. I suppose another alternative would be also to fix mode-conformant now since you mentioned there are only half a dozen occurrences that need to be fixed, whereas type-conformant has either 16 or 34 occurrences, depending which way we end up going, and could be left for another day. **************************************************************** From: Brad Moore Sent: Thursday, October 21, 2010 5:59 AM Thanks for the hyphenation lesson Gary, Before today, I was of those hyphen-abusing individuals. Ideally, a consistent approach would be applied to the RM, and I agree with Gary that it would be preferable to see "mode conformant" with the hyphen, however it would also be acceptable without the hyphen so long as we were consistent, if that means less work. The RM is a different type of document than regular everyday literature. It's more like a legal document, with precise definitions. I think it is confusing to see a term defined with or without hyphens, and then seeing conflicting usage elsewhere. One wonders if both usage cases are referring to the same thing. ****************************************************************