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!gandalf.srv.welterde.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: Latest suggestion for 202x Date: Sat, 22 Jun 2019 03:43:33 -0500 Organization: JSA Research & Innovation Message-ID: References: <728c4668-8fa0-4a57-a502-2bf476fc3940@googlegroups.com> <4908c3e3-18dc-4953-bf26-46f160d2ebfd@googlegroups.com> <9dcf22a2-2255-4089-b1f0-93e31448415e@googlegroups.com> <86h88obeu0.fsf@gaheris.avalon.lan> <39e749cd-de5c-44fa-b8ec-50d36f3bd52c@googlegroups.com> Injection-Date: Sat, 22 Jun 2019 08:43:33 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="16856"; 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; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader01.eternal-september.org comp.lang.ada:56709 Date: 2019-06-22T03:43:33-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:qekjbb$vu0$1@gioia.aioe.org... ... >> Why *should* array >> indexing and function calls be treated as the same thing? > > Because they model the same thing, a mapping, when arrays come in > consideration. Arrays only exist because they mapped easily to early hardware. In a modern, container-based system, there is no reason for them to exist separately -- they are just a kind of container. Perhaps the compiler would map them to a hardware array specially, but that simply doesn't matter. Specifically, I'd suggest that "array" is a container very similar to "vector" (esp. the bounded flavor). It should have roughly the same operations, just no expandability. That would require separating strings and arrays, but that would clearly be a good thing -- a string needs to support multiple representations while that's rarely needed for arrays. Randy.