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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1e3f2eac5c026e3 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-12-24 13:41:56 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!priapus.visi.com!orange.octanews.net!news.octanews.net!news-out.visi.com!petbe.visi.com!news.lightlink.com!news.mv.net!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Other Ada Standards (was Re: SIGada Conference) Date: 24 Dec 2003 16:41:54 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <468D78E4EE5C6A4093A4C00F29DF513D04B82B08@VS2.hdi.tvcabo> <3FE991DD.5060301@noplace.com> NNTP-Posting-Host: pip1-5.std.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1072302114 21895 192.74.137.185 (24 Dec 2003 21:41:54 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Wed, 24 Dec 2003 21:41:54 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.ada:3791 Date: 2003-12-24T16:41:54-05:00 List-Id: 18k11tm001@sneakemail.com (Russ) writes: > Perhaps you could explain why you seem to think the two are mutually > exclusive, because I don't get it. Every change has some cost. The ARG (mostly volunteers!) must write RM wording, which is not trivial to get right, even for trivial-seeming functionality. But first they have to spend time arguing about what the best rule is -- there are at least 3 viable possibilities I know of. Compiler writers have to make changes to their compilers, and in many cases, to other tools. Therefore, there's only a certain amount of change that can be tolerated, so Marin is correct to say that making *this* change would tend to limit the chances of some other change. This change is hard to evaluate: the cost is near zero, and the benefit is also near zero, so the cost/benefit ratio is difficult to estimate. I've seen many such cases over the years, and I'd guess they usually lose. > Now we swing over to the other extreme: something as trivial as "use" > implying "with" is somehow too "tricky". I just don't see how or why. I think Robert Eachus explained why. I think he overestimates the problem, but it's not "trivial". And since the benefit is near zero, it's probably not worth the trouble. (I know you don't agree that the benefit is near zero. Junk in the front yard, and all that.) Here's an example of why it might not be trivial to implement. Most compilers come with a tool to automatically figure out what needs to be recompiled (and compilation order, which matters for some compilers). This requires processing with_clauses, which have a very simple set of visibility rules, that do not require looking "inside" of packages. The new rule would require processing use_clauses as well, which *do* require looking inside packages. That's a mechanism that is obviously supported by the compiler itself, but might be a whole new concept for the recompilation tool. > The rule could simply be that "use" implies "with" unless the implied > "with" wouldn't compile, in which case "use" would *not* imply "with", > and the programmer would be responsible for supplying the necessary > "with". It seems friendlier to me that it should imply the "appropriate" with. There's always *some* with that it can imply, which is a prefix of the use'd name. > I can see one potential technical flaw. If the implied "with" is too > general, then I can understand why someone might oppose it. I don't > think this is the case, but I am not 100% sure because I am not an Ada > expert. Perhaps someone could clarify that. Would the implied "with" > "drag in" more than is minimally necessary to compile the program? If > not, I don't see any reasonable objection to it. No, it wouldn't "drag in" more. > Just out of curiousity, approximately what percentage of implied > "with" declarations in actual practice wouldn't compile? Are we > talking 25% or 0.1%? I'd guess about 1-to-2%, in the code I write. That's a wild guess. But as I said above, it's not that hard to avoid even this problem. - Bob