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: a07f3367d7,66f9ac28e8d63f60 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!usenet-fr.net!club-internet.fr!feedme-small.clubint.net!newsfeed-fusi2.netcologne.de!news.netcologne.de!newsfeed-hp2.netcologne.de!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Enforcing initialization protocol for protected type 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: <1fcccc80-0142-4f07-8852-8d151ea96ee2@c37g2000yqi.googlegroups.com> <4aa53c59$0$30237$9b4e6d93@newsspool1.arcor-online.net> <73fb1051-edf9-43f8-be50-5a2faa866040@s31g2000yqs.googlegroups.com> <7z37lspxbvu5.xk9ag8zcslry$.dlg@40tude.net> <61284459-5a02-410a-8ffc-76ad4256f138@a7g2000yqo.googlegroups.com> <1rusjydws2ko.rpfwzoyv4bzj$.dlg@40tude.net> Date: Sat, 12 Sep 2009 10:44:14 +0200 Message-ID: <1aayfibay762s$.1uipj9sc8658z$.dlg@40tude.net> NNTP-Posting-Date: 12 Sep 2009 10:44:14 CEST NNTP-Posting-Host: d3e6b699.newsspool3.arcor-online.net X-Trace: DXC=[a\93L9OGV]cHPTNZh_e7QMcF=Q^Z^V3X4Fo<]lROoRQ^YC2XCjHcbY_>;:69m`jGYDNcfSJ;bb[UIRnRBaCdm9;V]7S X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:8299 Date: 2009-09-12T10:44:14+02:00 List-Id: On Fri, 11 Sep 2009 17:24:57 -0500, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:1rusjydws2ko.rpfwzoyv4bzj$.dlg@40tude.net... > ... >> P.S. It looks like a language design bug. If allowed then at least it >> should have been like: >> >> Obj: subtype Rec (new Disc); >> -- An anonymous subtype is declared for Obj > > I think most of us consider "coextensions" a language design bug. Indeed, > that is about the nicest thing I can say about them. There are many of us > who think that allocators of anonymous access types should simply be illegal > (in all contexts), because what they mean currently depends so heavily on > context and that makes them a maintenance nightmare (at best). Yet strange semantic constructs keep on appearing in Ada. That is IMO because people fail to face the "tragic" reality, that MI must be there, that initialization must be handled properly, that discriminant is a constraint and not a pointer, that protected type must be tagged and so on. Look how an Ada programmers must twist his design just because protected type cannot be derived from, or that no class-wide component can be put into it. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de