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,d402e2c741db0d0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-11 21:16:42 PST Path: archiver1.google.com!news1.google.com!news2.google.com!news.maxwell.syr.edu!newshub.sdsu.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: Sun, 11 Jan 2004 23:16:40 -0600 Date: Mon, 12 Jan 2004 00:16:39 -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: Language lawyer question: Equality on 'Access attributes References: <4LKdnRRNyv6AlmCiRVn-ig@comcast.com> <6bSdnYBKy_diPGCi4p2dnA@gbronline.com> <5a6dnSHERdpJtWOi4p2dnA@gbronline.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <05KdnekGA84lsJ_dRVn-iQ@comcast.com> NNTP-Posting-Host: 24.34.214.193 X-Trace: sv3-9qSmfqRSScLV62bOUErs5gC/jki4J3P2NJHrf/YNPVb0gRM8f1S634NI2C/ha1LZ5olo+2kSs/MN2QA!rMDVlHTvECTh5TnDAWWeRrC9n03xNOX4V+G5swrRTKyWEGfq4reT5b4n/Zx9tw== 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:4349 Date: 2004-01-12T00:16:39-05:00 List-Id: Ze Administrator wrote: > Robert I. Eachus wrote: > >> I think I am now convinced that GNAT has a bug. > > > Well, you have just disillusioned your loyal follower(s). > > :-) > > But getting rid of illusions is a Good Thing, no? Especially that one. ANY member of the ARG will be glad to tell you if asked that for many problems that do need to be addressed by the ARG, the ARG as a whole will get it wrong several times before we get it right. In fact for a while it used to be common for an AI to read approved 10-0, letter ballot requested, letter ballot failed 0-9-2, reconsidered. And for the hard issues this would happen several times. I don't know what the record is for number of times an AI has be passed then reconsidered. As far as I am concerned thought AI-315 for Ada 83 (Exceptions and Optimization) was probably the record in terms of the number of times it was considered. We considered it almost every meeting, made some progress toward a solution, then sent it back for a rewrite and reconsideration. What was the problem that was so impossible to solve? Easy consider the following program fragment: X, Y : Integer; ... declare Junk: Integer; begin Text_IO.Get(X); Text_IO.Get(Y); Junk := X * Y; exception when others => Text_IO.Put_Line(" Product too large."); end; ... In Ada 83 we couldn't figure out any way to require compilers to actually print the message if X * Y > Integer'Last, without major surgery. Since the compiler vendors were all aware of the issue, no one was going to get that aggressive with optimizations until we figured it out. The problem was finally fixed in Ada 95 by doing the major surgery. The effect of a program is defined in terms of external events. So even though the value of Junk is never read, you have to do the multiplication to figure out whether or not to print the message. (And in fact, in Ada 95 you don't have to assign the result of the multiplication to Junk, or even allocate space for it.) In the case at hand, I originally thought there was, among other things, an issue with anonymous access types. The issue is there, but on further examination it turns out to be a pathology. Hmmm. I thought of an even more bizzarre pathological case involving return-by-reference functions. But I probably should have buried that thought before it got this far. In fact, at this point the ARG is pretty much convinced that return by reference functions, as such, were probably a bad idea to begin with. ;-) -- Robert I. Eachus "The war on terror is a different kind of war, waged capture by capture, cell by cell, and victory by victory. Our security is assured by our perseverance and by our sure belief in the success of liberty." -- George W. Bush