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-14 12:44:55 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshub.sdsu.edu!small1.nntp.aus1.giganews.com!border1.nntp.aus1.giganews.com!intern1.nntp.aus1.giganews.com!nntp.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 14 Nov 2003 14:44:53 -0600 Date: Fri, 14 Nov 2003 15:44:52 -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: <1068561335.260886@master.nyc.kbcfp.com> <_rGsb.39$pv1.0@read3.inet.fi> 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-lGZ5yt8HBehSKxYnTI/6NfTao9MFPAw6qKjpL2XkoYWeVlI7NsyWAJnsbVVp8m7S2yuhzdo4gMzraXY!wKhKlMs5ExX3Y9lPt8XWwstrTVL7PCqYfNkmA6/5wMkA8XDPKKwVCPX0bSWQQg== 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:2506 Date: 2003-11-14T15:44:52-05:00 List-Id: Dmitry A. Kazakov wrote: > Does anybody a statistics of name clashes in Ada? Let me tell you a funny story about that. Right after Ada became an ANSI standard in 1983, I was talking to Dan Eilers and Jean Ichbiah in the Irvine Compiler suite at a SIGAda meeting in San Diego. Jean had asked what I thought of the new standard--I had a copy with me, and this was fairly early days, February 1983. I said that there was one change from the Printer's Proof edition that troubled me. Name and System_Name in System had been reversed, making Name the type and System_Name a constant. I said I had considered a recommendation that Name become a function instead of a constant, so it could be overloaded, but that this was much worse. "Why?" Ichbiah asked. "Well, Name is going to occur often as a function name, in fact there is a function Name in Text_IO. This creates a surprising "Gotcha!" that there was no real need for." "Never happen in a million years," Ichbiah replied. "That would require a program to have use clauses for both Text_IO and System, and then try to get the name of a file." A few minutes later Robert Dewar came over and interrupted. "Dan, I think I found a bug in your compiler. I wrote a little test program, and it won't let me call Name in Text_IO. Says it isn't visible." "Do you have a use clause for Text_IO?" I asked. "Of course," said Robert Dewar looking puzzled. "And a use clause for System?" "As a matter of fact, yes," Robert said, and then looked on in astonishment and Dan and I burst out laughing. I had to explain that the joke wasn't on him, but on Jean Ichbiah, and that little glitch was in the language for good. (In case you are wondering, it is still in the language twenty years later.) Has it bitten anyone else in the twenty years since? Probably. This is just one reason why the ARG is careful to fully examine ALL the consequences of a langauge change. -- Robert I. Eachus 100% Ada, no bugs--the only way to create software.