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: Latest suggestion for 202x Date: Sat, 22 Jun 2019 03:36:46 -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:36:47 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="16664"; 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:56708 Date: 2019-06-22T03:36:46-05:00 List-Id: "Keith Thompson" wrote in message news:lnd0j6kdsl.fsf@kst-u.example.com... ... > In my example, if A is an array variable and I've written > A(I) = 42; > I *can't* replace A by a function without modifying the code that uses > it. Array indexing can appear on the LHS of an assignment; a function > call cannot (or at least could not until recently). That's not strictly true, as anyone who's tried to write an Ada compiler knows. Even in Ada 83, you had to resolve assignments that are overloaded on both sides (the ACATS insists on it): Func(I).all := Func2(J); or Func(I).C := Func3(K); You're right, of course, that you can't put a function there without a dereference (explicit or implicit). And that's still true, we've just hidden the dereference even better. Randy.