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,735c710b5e547bad X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.66.82.2 with SMTP id e2mr1798047pay.40.1343314731009; Thu, 26 Jul 2012 07:58:51 -0700 (PDT) Path: b9ni64925521pbl.0!nntp.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!novia!feeder3.cambriumusenet.nl!feeder1.cambriumusenet.nl!feed.tweaknews.nl!94.232.116.11.MISMATCH!feed.xsnews.nl!border-1.ams.xsnews.nl!newsfeed.straub-nv.de!reality.xs3.de!news.stack.nl!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada 2005 puzzle Date: Thu, 19 Jul 2012 09:55:53 +0200 Organization: cbb software GmbH Message-ID: References: <1arp60wtxes8h$.1qs6bt732ztgp.dlg@40tude.net> <030cde76-7435-405d-9f12-ac7f730ecab8@googlegroups.com> <1f9q6vk5z2r3t$.1hayo9rmxfwu7$.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: 9A8bJrx4NhDLcSmbrb6AdA.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-07-19T09:55:53+02:00 List-Id: On Thu, 19 Jul 2012 01:53:35 -0500, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:1f9q6vk5z2r3t$.1hayo9rmxfwu7$.dlg@40tude.net... > ... >> (I never doubted that limited aggregates were broken, but I didn't think >> that nobody intended them to work.) > > We intended them to work. It's just that we found out after the fact that > the extension aggregate case is very difficult to implement on most > compilers. > > (It's no problem for Janus/Ada, which uses a fixed size for all objects; any > dynamically sized part is handled using implicit pointer and allocation. But > that solution is hated by almost everyone.) > > My personal feeling always was that this restriction was not acceptable, but > I couldn't explain why. Thus, I think it would be a good idea to send your > problem to Ada-Comment, so that the ARG can consider the problem. I'm pretty > sure that your example is reasonable in all respects, and I can't figure out > any good reason that you shouldn't be able to do it. ARG should concentrate on the real problem instead. Which is: It shall be possible to write a constructing function for any type derived from a type having a constructing function. (Possible addition: even if there existed abstract ancestors between two types) > (With the obvious exception that "limited" almost never is really what you > want in Ada, and I don't think that ever could change. Why not to fix that too? Objects with the no-copies semantics are everywhere. Larger/complex the object become, less likely anybody would copy it. Clearly, Ada as a language for *large* projects shall support this. There should have been no limited returns and no limited aggregates in first place. But since ARG decided to invent the mess for the purpose object construction, it is now the ARG's problem to live up to the promise. I wouldn't mean ARG threw them into the bin (read: leave it is as is) and provided a more clean, usable, universal alternative. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de