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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,60e2922351e0e780 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-11-17 06:38:53 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!small1.nntp.aus1.giganews.com!nntp2.aus1.giganews.com!intern1.nntp.aus1.giganews.com!nntp.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Mon, 17 Nov 2003 08:38:51 -0600 Date: Mon, 17 Nov 2003 09:38:50 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Clause "with and use" References: <3FB1609E.D56E315C@fakeaddress.nil> <3FB6513B.DA6E53CA@fakeaddress.nil> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.34.214.193 X-Trace: sv3-QYF+Z0p1VmYzryyjrPCFlBwJCCLfgIk/3YyI9IjWye2s35scYIWkW0iDllyrv+Ciwns0FFoIthOTLYz!ToNdYlUiqgkZgdVPaABKvCrHylJJ6RRg/56Ym8ar9tMlKo+8GnLT9XSFSbzNkg== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:2571 Date: 2003-11-17T09:38:50-05:00 List-Id: Dmitry A. Kazakov wrote: > Exactly the same Ada would do. The effect should be defined to be > literally same as for: > > with Foo; use Foo; with Bar; use Bar; > > So Foo.Bar cannot play any role here. Note that the proposal says > *implies* "with Bar;". After all Foo.Bar cannot be "with"-ed and thus > cannot be implied. And that is exactly the problem. I am sorry you don't see it. The with clause has an effect on visibility that includes the use clause. Current use clauses have a different scope. So if I see: with Foo; use Foo.Bar; which is currently legal and meaningful, what does your proposal do? The only choices I see are: 1) The new rule you are proposing makes lots of existing legal Ada programs illegal. 2) That use clauses in context clauses are interpreted specially. First applying one set of visibility and name resolution rules, then if that fails silently applying another. 3) Retain the current meaning of a use clause in a context clause, and add a new context clause choice (I have been using "with and use") that has the new meaning. To me option 1) is something that simply won't happen without a clear and convincing need, and case 2) is worse. Do you have an option 4) that I am unaware of? If not maybe you can now see why I think the choice is between some veriation of 3) and no change. -- Robert I. Eachus 100% Ada, no bugs--the only way to create software.