From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Reduction expressions Date: Wed, 21 Aug 2024 08:47:49 +0100 Organization: A noiseless patient Spider Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Wed, 21 Aug 2024 09:47:49 +0200 (CEST) Injection-Info: dont-email.me; posting-host="309a8026b348b5b5de251ebf9e16bd31"; logging-data="3983478"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18pZ+ErCc5wZhBIJAyEfpgRSRwgJuwaBTs=" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:fZJgXh53QBPECDwyAeHTKDF6xG4= sha1:axssl8B+LpVydnVTuAoGJ0yUJDc= Xref: news.eternal-september.org comp.lang.ada:66311 List-Id: 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! [1] http://www.ada-auth.org/standards/22rm/html/RM-4-5-10.html#p8 [2] http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai22s/ai22-0011-1.txt?rev=1.2