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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a6449b2443dcdda1 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed-0.progon.net!progon.net!uucp.gnuu.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Access keyword Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: Date: Wed, 30 Apr 2008 09:56:44 +0200 Message-ID: <19pdi8c7x1qy0.2h7hu7mg1nh3$.dlg@40tude.net> NNTP-Posting-Date: 30 Apr 2008 09:56:44 CEST NNTP-Posting-Host: 2e99186c.newsspool4.arcor-online.net X-Trace: DXC=_E]U^KF^^g2^cW`WBF>WQ<4IUK7enW;^6ZC`4IXm65S@:3>?a4S:PKCQKd9 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:21132 Date: 2008-04-30T09:56:44+02:00 List-Id: On Wed, 30 Apr 2008 00:15:47 -0700 (PDT), Maciej Sobczak wrote: > On 29 Kwi, 23:32, "Randy Brukardt" wrote: > >> Anonymous access types (a superset of access parameters) mainly exist in Ada >> to make it easier for C++ and Java programmers to move their rotten designs >> to Ada. > > Anonymous access types are used by Ada.Containers for iteration (among > others). "Rationale" by Barnes presents some nice examples with > downward closures as well. But most (if not all) of these could certainly be addressed to the language design faults. One does not need explicit pointers in order to implement downward closures. The same is true for returning objects by reference. There is no proper abstraction of array allowing "for Item in Container loop". The notorious mix-in inheritance is often just a kludge, necessary because the language lacks multiple inheritance or else, because certain types (like tasks and protected objects) cannot be inherited from. The Rosen trick is used because procedures cannot have results. Have I forgot something? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de