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,7a3b1c6915ea1273 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.75.170 with SMTP id d10mr3059391pbw.6.1326534598536; Sat, 14 Jan 2012 01:49:58 -0800 (PST) Path: lh20ni180674pbb.0!nntp.google.com!news2.google.com!news3.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!192.87.166.28.MISMATCH!tudelft.nl!txtfeed1.tudelft.nl!zen.net.uk!dedekind.zen.co.uk!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: How many Ada compiler bugs are here? Date: Sat, 14 Jan 2012 10:49:39 +0100 Organization: cbb software GmbH Message-ID: References: <01dd6341-9c3c-4dcb-90f8-6ac66c65eb66@z1g2000vbx.googlegroups.com> <98adc34c-deed-4190-9e10-755cb886984f@n39g2000yqh.googlegroups.com> <5cm1d9xlavps$.1tjtc88r9ze21$.dlg@40tude.net> <6d352870-d204-4137-a562-5a0b67db1f80@h13g2000vbn.googlegroups.com> <15d37z3l8zllg$.3z2pj9cy5kvq.dlg@40tude.net> <7610c0ee-db98-4530-afab-f29e187ee7d0@h3g2000yqe.googlegroups.com> <1swdtf9umcv6h.1abrhg4hr4tdd$.dlg@40tude.net> <189376d3-eab5-44a2-a7fc-8a227d1f6d70@k10g2000yqk.googlegroups.com> <11extopcf5hsy.qk7psu30kjrp.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: PPt+vSuBRqtkVsMLa1J3Dg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2012-01-14T10:49:39+01:00 List-Id: On Fri, 13 Jan 2012 18:26:13 -0600, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:11extopcf5hsy.qk7psu30kjrp.dlg@40tude.net... >>>> BTW, I always wondered why cannot we have multiple parents of a package >>>> in Ada? >>> >>> Sounds hugely complicated. >> >> Why? The only complicated thing would naming of the files. > > Because the parent's declarations are directly visible in the child. If > there are multiple parents, you'd have multiple scopes of declarations > directly visible, and we would have to worry about what happens when there > are conflicts. We don't have to do this in Ada today. Yes, but I want this feature in other form anyway. I want to have an ability to fuse several declaration scopes into a package to reuse obtained direct visibility scope later. It is quite a problem now that packages need large sets of "with" and "use" clauses in front of them as well as multiple "use" clauses inside them (for generic instances). This stuff is repeated over and over again, which is a maintenance problem and a problem for the reader. > There is a similar problem for package use clauses, but there is no > satisfactory solution to that problem. All of the solutions are dangerous > (Ada picks the least dangerous solution, but it still has lots of issues in > practice). I don't think we want more of these cases. I am not sure which solutions you have in mind. I would simply forbid any conflicts. The compiler must insist on explicit renaming of all conflicting entities. It is rather a perceived problem so long declaration scopes cannot be named an reused. Once we would use them as named entities, construct and design them intentionally, the problem would disappear. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de