# Version 1.5 of ais/ai-00018.txt

Unformatted version of ais/ai-00018.txt version 1.5
Other versions for file ais/ai-00018.txt

!standard 04.05.06 (11)          00-01-24 AI95-00018/05
!class confirmation 95-06-25
!status Response 2000 00-01-24
!status WG9 approved 96-12-07
!status ARG Approved 10-0-0 96-10-07
!status work item 95-10-12
!priority Low
!difficulty Easy
!qualifier Clarification
!subject Inconsistency with Ada 83 in the definition of exponentiation
!summary
The multiplications of an exponentiation are associated in an arbitrary order.
!question
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, Ada 83 required left-to-right associations. Is this an upward inconsistency? (Yes.)
!response
Ada 83 required left-to-right associations, and AI83-00137 confirmed this. AI83-00868 allowed arbitrary association, but AI83-00868 was never formally approved. Hence, this represents an upward inconsistency, and should have been so documented in the AARM.
!ACATS test
While it is possible to test if the permission has been exercised, there is no value in doing so.
!appendix
```
!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?

****************************************************************
```

Questions? Ask the ACAA Technical Agent