From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada 202x and square brackets Date: Thu, 21 Feb 2019 18:24:57 -0600 Organization: JSA Research & Innovation Message-ID: References: <54a5873a-57aa-40c6-8af4-a6f908d53593@googlegroups.com> Injection-Date: Fri, 22 Feb 2019 00:24:58 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="27803"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader01.eternal-september.org comp.lang.ada:55621 Date: 2019-02-21T18:24:57-06:00 List-Id: "Lucretia" wrote in message news:be2e3cf3-e452-4501-a960-822bf6432cd9@googlegroups.com... > On Wednesday, 20 February 2019 23:47:53 UTC, Randy Brukardt wrote: > >> My_Arr : constant Some_Unconstrained_Array_Type := [1]; >> >> Container aggregates are roughly user-defined array aggrgeates. >> (Alternatively, you can [maybe should] think of an array as a built-in >> container.) > > Do you think the language is getting a tad too complicated now? How so? The idea has been that an abstract data type should be able to declare all of the same capabilities as a built-in type. The main remaining holes were literals and aggregates, and those have been addressed now. It can be complicated to build such an ADT, but that's not something that is done often (much like with generics). OTOH, the user experience should be fairly seamless -- you can write the same thing whether or not the type is built-in or user-defined, and (if properly defined), they'll mean the same thing. Most people won't care how a user-defined aggregate is constructed any more than they care how a vector container supports indexing. (At least, that's the goal.) Randy.