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.3 required=5.0 tests=BAYES_00,INVALID_MSGID, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,66bc6b039f1e005d X-Google-Attributes: gid103376,public From: Ted Dennison Subject: Re: Three simple questions Date: 2000/10/10 Message-ID: <8rv7k9$2kq$1@nnrp1.deja.com>#1/1 X-Deja-AN: 679721087 References: <2BED68CA963D6D55.A78776F656DA0452.75A61ED22116F1B6@lp.airnews.net> <39e2588f.21565740@news.demon.co.uk> <39E2D51E.D0122F20@bton.ac.uk> <39E30759.7A402CB6@bton.ac.uk> X-Http-Proxy: 1.0 x61.deja.com:80 (Squid/1.1.22) for client 204.48.27.130 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Tue Oct 10 14:03:58 2000 GMT X-MyDeja-Info: XMYDJUIDtedennison Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.7 [en] (WinNT; I) Date: 2000-10-10T00:00:00+00:00 List-Id: In article <39E30759.7A402CB6@bton.ac.uk>, John English wrote: > Dale Stanbrough wrote: > > > > Of course Ada has exactly the same problem, in that if you misspell > > the name of a subprogram when trying to override, you are not > > informed by the compiler (e.g. consider Finalize and Finalise). > > This is in fact a particularly bad one, as there aren't even any > explicit calls you can search for, so debugging "by eye" is out. ... To bring this into the realm of actual experience, I got bit by this exact problem last week. I was debugging someone else's code, and couldn't figure out why one dispatching routine wasn't working. Since there was an interface to external C code involved, there were all sorts of other possible problems to look for. It turned out that the parameter profile (but not the name) of the parent type's primitive method had changed over a year ago, but the author of this package was too lazy to change his own code to match. He was one of those "whatever works" folks, and the default "null;" implementation matched his implementation. No one noticed any difference until a year later. He is now off the project. So I went into his package body to add the code to make his version of the dispatching operation actually do something. Of course nothing happened because the routine I changed was not being dispatched to. Testing in our system is rather slow, as we have a limited number of test platforms (located in another building). Also, as I mentioned above, the C interface left me with lots of other good possible causes to look for. So it took me a week to figure out what was really going on. > I agree completely -- from a safety point of view, something like > this is surely essential for Ada 0X... I'm glad I'm not the only one who feels that way. -- T.E.D. http://www.telepath.com/~dennison/Ted/TED.html Day 5 of Free Europe Sent via Deja.com http://www.deja.com/ Before you buy.