From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Reduction expressions Date: Fri, 23 Aug 2024 23:27:48 -0500 Organization: A noiseless patient Spider Message-ID: References: Injection-Date: Sat, 24 Aug 2024 06:27:49 +0200 (CEST) Injection-Info: dont-email.me; posting-host="6e82515bbaa16de3681041e471997572"; logging-data="1347570"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lXh163KNYEiH/rjZYYtQbyrje3fSHAq4=" Cancel-Lock: sha1:IkrJaVqh692gLryojwFIk9s+jxM= X-Priority: 3 X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 X-MSMail-Priority: Normal Xref: news.eternal-september.org comp.lang.ada:66312 List-Id: "Simon Wright" wrote in message news:lyfrqynwpm.fsf@pushface.org... > Lawrence D'Oliveiro writes: > >> On Tue, 20 Aug 2024 22:23:27 +0100, Simon Wright wrote: >> >>> "Randy Brukardt" 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.