From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,T_SCC_BODY_TEXT_LINE, XPRIO autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: New aggregates with Ada 2022. Date: Thu, 23 Jun 2022 20:21:09 -0500 Organization: A noiseless patient Spider Message-ID: References: Injection-Date: Fri, 24 Jun 2022 01:21:12 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="719d095f426b37c49cffae3fe5625499"; logging-data="23760"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19F97r7T7VDI62gWskt5MX+Zambr3kQVts=" Cancel-Lock: sha1:iSMVW166LX888VxXZ74rLy4ZTNY= X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 X-RFC2646: Format=Flowed; Response X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-Priority: 3 X-MSMail-Priority: Normal Xref: reader02.eternal-september.org comp.lang.ada:64022 List-Id: "G.B." wrote in message news:t91gmo$rh1$1@dont-email.me... > On 23.06.22 11:32, Dmitry A. Kazakov wrote: > >> In any case having an explicit array interface does not preclude built-in >> arrays. > > Indeed, if there were no built-in arrays, how would one > > - specify aspects like "contiguous memory", > - permit implementations to create efficient addressing > for arrays' storage units > - map to hardware? With aspects, of course, that are part of the "interface". Why do you think that one needs a visible built-in array in order to support these (or any other) operations? Again, at the implementation level, surely there is some sort of built-in array. But one does not need to expose that at the programmer level. "Efficient addressing" is the compiler's job, it will do whatever makes sense for the target (and those vary quite a bit). For example, "contiguous" is an aspect that Ada is missing (but should have). Implementations should have the freedom to pick any implementation in the absence of such as aspect (which should be rarely needed, mainly for interfacing with hardware and foreign software). Mapping to hardware could be handled with a "fixed vector" container (one that would be rarely used other than for interfacing). It doesn't require an array, just something with the right semantics. Randy.