Sujet : Re: Reduction expressions
De : randy (at) *nospam* rrsoftware.com (Randy Brukardt)
Groupes : comp.lang.adaDate : 24. Aug 2024, 05:27:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vabng5$193vi$1@dont-email.me>
References : 1 2 3 4
User-Agent : Microsoft Outlook Express 6.00.2900.5931
"Simon Wright" <
simon@pushface.org> wrote in message
news:lyfrqynwpm.fsf@pushface.org...Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>
On Tue, 20 Aug 2024 22:23:27 +0100, Simon Wright wrote:
>
"Randy Brukardt" <randy@rrsoftware.com> writes:
>
Accum_Subtype (we changed the name since it is a subtype, not a type;
>
Amazing how a person (I) can have used Ada for ~40 years and still be
hard put to it to describe the difference, at least in a case like
this one, where the ARG members clearly see meanings that leave me
lukewarm if not cold. Maybe "the heart of twilight"?
>
I thought the difference was obvious. "subtype" is the C equivalent of
"typedef", just giving a new name to an existing type. So
>
subtype A is B;
>
(where A and B are simple identifiers) is valid, whereas
>
type A is B;
>
is not: a "type" declaration always creates a new type: you have to
write at least
>
type A is new B;
>
and now you have two types with different names that are structurally
the same, but not compatible.
>
Yes, I've understood that for a long time but ... ARM22 4.5.10(8,9)[1]
say
>
(8) The expected type for a reduction_attribute_reference shall be a
single nonlimited type.
>
(9) In the remainder of this subclause, we will refer to nonlimited
subtypes Value_Type and Accum_Type of a
reduction_attribute_reference. ...
>
and in AI 22-0011-1 [2] starting at 22-Oct-2021 5:25 PM,
>
* SB: raises a series of observations,
* STT: "... You really need to think of Accum_Type as a particular
*subtype*"
* SB: "Ok, I was confused - Accum_Type is a subtype, not a type. So
a lot of my message was noise."
>
If SB can be confused, so can I!
Which is why we changed the name - if SB can be confused, it is a good bet
that there is something wrong with the wording. That's why I usually
recommend bleeding edge users use the bleeding edge RM - no point in
rediscovering all of the bugs that we already know about. Unfortunately, in
this case, I'm the only one that has the bleeding edge RM because I haven't
finished adding all of the approved AIs to it. This group is some that I've
done, which is why the answer to your question was relatively easy to find.
Randy.