!standard 04.05.06 (11) 96-11-16 AI95-00018/03 !class confirmation 95-06-25 !status WG9 approved 96-12-07 !status ARG Approved 10-0-0 96-10-07 !status work item 95-10-12 !status received 95-06-25 !priority Low !difficulty Easy !subject Inconsistency with Ada 83 in the definition of exponentiation !summary 95-06-25 The multiplications of an exponentiation are associated in an arbitrary order. !question 95-06-25 4.5.6(11) says: The expression X**N with the value of the exponent N positive is equivalent to the expression X*X*...X (with N-1 multiplications) except that the multiplications are associated in an arbitrary order. However, RM83 required left-to-right associations. Is this an upward inconsistency? !response 95-06-25 RM83 required left-to-right associations, and AI-00137 confirmed this. AI-00868 allows arbitrary association, but AI-00868 was never formally approved. Hence, this represents an upward inconsistency, and should be so documented in the AARM. !appendix 95-10-12 !section 4.5.6(11) !subject Inconsistency with Ada'83 in the definition of exponentiation !reference RM95-4.5.6(11);5.95 !from Pascal Leroy !reference as: 95-5078.a Pascal Leroy 95-1-25>> !discussion The new definition of exponentiation, which allows multiplications to be associated in an arbitrary order, is an inconsistency with Ada'83, and should be flagged as such at the end of section 4.5.6. (The set of values that can be returned by an exponentiation in Ada'95 is larger than the set of values that was allowed by Ada'83; therefore the set of acceptable behaviors changes, therefore this is an inconsistency - see RM95-1.1.2(39b) & (39c)) _____________________________________________________________________ Pascal Leroy +33.1.30.12.09.68 pleroy@rational.com +33.1.30.12.09.66 FAX **************************************************************** !section 04.05.06(11) !subject No inconsistency with Ada'83 in the definition of exponentiation !reference RM95-04.05.06 (11) !reference AI95-00018 !from Pascal Leroy 95-10-09 !reference as: 95-5318.c Pascal Leroy 95-10-9>> !discussion The 'response' section of this AI says: "Although RM83 required left-to-right associations, AI-????? allows arbitrary order. (???Need to find the AI number, and make sure that's what it says.)" The AI number is 868, and it actually allows arbitrary order. But the problem is that my records indicate that AI83-00868 never went beyond the "work item" status (my records may be obsolete though...). In particular it was never approved by the Ada Board, so formally, Ada 83 never allowed exponentiation in an arbitrary order. I didn't check, but I would not be surprised if the ACVC 1.11 still had test(s) to verify left-to-right evaluation. **************************************************************** !section 04.05.06(11) !subject No inconsistency with Ada'83 in the definition of exponentiation !reference RM95-04.05.06 (11) !reference AI95-00018 !reference 95-5318.c Pascal Leroy 95-10-9 !from Bob Duff !reference as: 95-5324.a Robert A Duff 95-10-11>> !discussion > The 'response' section of this AI says: "Although RM83 required left-to-right > associations, AI-????? allows arbitrary order. (???Need to find the AI number, > and make sure that's what it says.)" > > The AI number is 868, and it actually allows arbitrary order. But the problem > is that my records indicate that AI83-00868 never went beyond the "work item" > status (my records may be obsolete though...). In particular it was never > approved by the Ada Board, so formally, Ada 83 never allowed exponentiation in > an arbitrary order. Yes, I see that the version of AI 868 on sw-eng.falls-church.va.us is not marked as approved by the Ada Board (or anybody else). Thanks for pointing this out. > I didn't check, but I would not be surprised if the ACVC 1.11 still had > test(s) to verify left-to-right evaluation. I would be surprised. But then, I'm surprised that AI 868 was never approved, so what do I know? ****************************************************************