comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Reduction expressions
Date: Fri, 23 Aug 2024 23:27:48 -0500	[thread overview]
Message-ID: <vabng5$193vi$1@dont-email.me> (raw)
In-Reply-To: lyfrqynwpm.fsf@pushface.org

"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. 


      reply	other threads:[~2024-08-24  4:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-13 12:36 Reduction expressions Simon Wright
2024-08-20  3:59 ` Randy Brukardt
2024-08-20 21:23   ` Simon Wright
2024-08-20 23:30     ` Lawrence D'Oliveiro
2024-08-20 23:41       ` Keith Thompson
2024-08-21  1:37         ` Lawrence D'Oliveiro
2024-08-21  7:47       ` Simon Wright
2024-08-24  4:27         ` Randy Brukardt [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox