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:24:32 -0500 Organization: A noiseless patient Spider Message-ID: References: Injection-Date: Fri, 24 Jun 2022 01:24:34 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="719d095f426b37c49cffae3fe5625499"; logging-data="24664"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ro2QmADuJ3dM5rYh+6GiNpjLn8FVUSvQ=" Cancel-Lock: sha1:OffEvhrR9jNLSA+rXe9C185R9Vg= 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:64023 List-Id: "Dmitry A. Kazakov" wrote in message news:t91buq$10im$1@gioia.aioe.org... > On 2022-06-23 03:06, Randy Brukardt wrote: ... >> (How something gets implemented should not be part of a language >> design, so long as the design does not prevent an efficient >> implementation.) >> I certainly would not treat them as special in any way, just a series of >> function calls. (Possibly records could be treated that way as well, >> although it is less clear that an efficient implementation is possible >> for >> them.) > > Syntax sugar for subprogram calls is not enough because it does not allow > generic programming. One should be able to write a program that deals with > any instance of the interface. Like a generic body working with any actual > array or a class-wide body which unfortunately is impossible to have for > arrays presently. You're thinking too small. Obviously, in a language without an syntactic array construct, every data structure would be some sort of record. So class-wide operations would be available for all of those -- and without all of the complications of a separate formal array type. The idea is to have one mechanism for pretty much everything, and let the compiler sort out the results. Back when we created Janus/Ada, that wasn't really practical because of memory and CPU speed constraints, but none of that holds true anymore. Simplify the language, complicate the compiler! Randy.