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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham 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.180.95.2 with SMTP id dg2mr1301011wib.2.1343313285978; Thu, 26 Jul 2012 07:34:45 -0700 (PDT) MIME-Version: 1.0 Path: q11ni75616878wiw.1!nntp.google.com!volia.net!news2.volia.net!feed-A.news.volia.net!border1.nntp.ams2.giganews.com!border2.nntp.ams2.giganews.com!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!nntp.giganews.com!newsfeed.straub-nv.de!news-1.dfn.de!news.dfn.de!news.stw-bonn.de!newsreader4.netcologne.de!news.netcologne.de!weretis.net!feeder4.news.weretis.net!nuzba.szn.dk!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada 2005 puzzle Date: Fri, 20 Jul 2012 19:04:05 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <1arp60wtxes8h$.1qs6bt732ztgp.dlg@40tude.net> <030cde76-7435-405d-9f12-ac7f730ecab8@googlegroups.com> <1f9q6vk5z2r3t$.1hayo9rmxfwu7$.dlg@40tude.net> <1agfifqlayl3y.1bp09z5i37ewk$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1342829050 13388 69.95.181.76 (21 Jul 2012 00:04:10 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sat, 21 Jul 2012 00:04:10 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Date: 2012-07-20T19:04:05-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1agfifqlayl3y.1bp09z5i37ewk$.dlg@40tude.net... > On Thu, 19 Jul 2012 21:22:27 -0500, Randy Brukardt wrote: ... >> The ARG isn't going to do anything unless real users (like yourself) >> report >> reasonable examples that don't appear to be possible with the current >> rules. >> Generally, we're not interested in *solutions* from the public (we're >> happy >> to figure out the best solution for the language as a whole), but we are >> interested in *problems*. > > The problem is just same it was when ARG invented limited aggregates and > function returns. Sorry, I meant *specific* examples of useful things that you cannot find a legal way to write. No one is likely to be that interested in philosophical concerns. >> So far as (most) of the ARG is aware, there is no problem with this >> feature, >> and in the absence of reports of real problems I doubt that anything will >> change. > > You could simply say that you agree/disagree with the principle. I actually see little wrong with the Ada model. Had we designed constructor functions into Ada 2005, they would have been nearly identical with the build-in-place functions that we have now. (Indeed, there was such a proposal early on that was discarded in favor of making the semantics more general.) Indeed, until you sent your question the other day, I wouldn't have believed that there was any significant problem with the rules. And the "problem" that you had was artifically introduced because some implementers thought implementing that would be hard. It's not fundamental to the model at all. So you need to work harder to convince me. And I'm not going to be able to do a very good job of convincing anyone else. As I said, we need realistic examples of problems that cannot be solved with the current rules. (And that isn't just addressed to you; it's really addressed to every user of Ada. Too many people work around problems without pointing out their language difficulties to us; we're never going to be able to fix language problems we don't know about!) >>> 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. >> >> It can't be fixed; you almost always need copying in some circumstances. > > No, you never need copying except for scalar objects and marshaling. All objects need marshalling, and that's one of the obvious problems. ... >> And if you expect me to take your problems to the ARG, let me say that >> they >> will have a lot more weight if they come from real Ada users and not just >> me >> (or Adam, or Bob, all of whom are "tainted" as implementors). > > You mean ARG is unaware that constructing functions cannot be written in > the cases like presented? Or that they would not believe you or Bob > telling > so? Definitely unaware -- I've never previously seen a case that couldn't be written with a bit of effort. And this particular problem is caused by an ill-advised restriction, not by some problem with the general model. As far as me "telling them", I could do that, but by then I'll totally have forgotten the details and no one will (rightly) pay much attention to "I vaguely remember that there is a problem of some sort there." The only way to avoid that is to put a specific question on the agenda, and I don't want to be the source of every such question (it leads to questions as to whether I'm selecting problems for my own benefit) -- and I particularly don't want to be forced to be the author of an AI that I personally don't have an interest in. (The person who submits the question usually has to write the AI, if they are an ARG member.) Anyway, spend a few minutes and send an example like your original one to Ada-Comment, and it will get discussed properly. Otherwise, don't gripe about it, because it surely isn't going to change. Randy.