Version 1.3 of ai05s/ai05-0239-1.txt

Unformatted version of ai05s/ai05-0239-1.txt version 1.3
Other versions for file ai05s/ai05-0239-1.txt

!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 ARG Approved 7-0-1 11-02-19
!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.

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


Questions? Ask the ACAA Technical Agent