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.190.99 with SMTP id gp3mr950257pbc.1.1326462233067; Fri, 13 Jan 2012 05:43:53 -0800 (PST) Path: lh20ni177564pbb.0!nntp.google.com!news2.google.com!goblin1!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: How many Ada compiler bugs are here? Date: Fri, 13 Jan 2012 14:43:33 +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> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: FbOMkhMtVLVmu7IwBnt1tw.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-13T14:43:33+01:00 List-Id: On Fri, 13 Jan 2012 04:58:21 -0800 (PST), AdaMagica wrote: > On 13 Jan., 12:35, "Dmitry A. Kazakov" > wrote: >> But I suggest that you are rather trying to excuse Ada's sloppiness in this >> issue. > > Ada's not perfect, we all know that. But it's one of the best... The best, IMO. >> to the point I am making, and, secondly, >> because factories could be provided by other packages, not necessarily by P >> itself. > > But without a constructor in P (or in children thereof) for T there > cannot be any factories anywhere. This is silly mistake in your > example. No. You can have them in children packages, which is not so uncommon to do. I ran into the issue of required return statement several times. If you have a hierarchy of managed objects, for which you would like to prevent stack instances or make them accessible only though proxy objects, etc. Especially when some fields are not null access. Then you may get this problem. It can occur pretty late and require a huge amount of redesign. Because to access the full view the package must be a child, and it is usually already a child of some other package and not without a reason, e.g. to access the internals of those. BTW, I always wondered why cannot we have multiple parents of a package in Ada? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de