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-Thread: 103376,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!proxad.net!feeder2-1.proxad.net!news6-e.free.fr!not-for-mail Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request References: <49dc98cf.0408110556.18ae7df@posting.google.com> <6F2Yc.848$8d1.621@newsread2.news.pas.earthlink.net> <87eklg62x8.fsf@news.bourguet.org> <878ybnmdzi.fsf@news.bourguet.org> <87y8jmq7x7.fsf@news.bourguet.org> <87ekldrjdw.fsf@news.bourguet.org> From: Jean-Marc Bourguet Message-ID: Date: 08 Sep 2004 10:12:12 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: Guest of ProXad - France NNTP-Posting-Date: 08 Sep 2004 10:12:13 MEST NNTP-Posting-Host: 62.189.36.28 X-Trace: 1094631133 news6-e.free.fr 7583 62.189.36.28:35066 X-Complaints-To: abuse@proxad.net Xref: g2news1.google.com comp.lang.ada:3463 Date: 2004-09-08T10:12:13+02:00 List-Id: jayessay writes: > Jean-Marc Bourguet writes: > > But the problems I was speaking about could also occur in > > any program in CL of comparable size and complexity. Modify > > some middle or low level function and break one of its user > > which didn't respect one of its pre-condition in a way which > > was harmless with the previous implementation. > > You are making a change to the preconditions so that the new ones > are no longer a subclass of the former. Therefore all callers will > need to be checked. The pre-conditions where documented and I simply started to make use of one of them. That's the whole difference between coding to an interface and coding to an implementation. Testing doesn't help in the former case. > Note, the preconditions (the new or the original) may not even be > definable in terms of any type system. In the case I was thinking about, they where. [...] > > You can use type system to state and verify invariants. And > > that's something available now. And it is usefull. > > No one said it wasn't. I merely claim that dynamic system can do > this and more. Obviously you don't believe me. That's OK. Testing can show that the problem happen, it can show that the problem doesn't happen in the tested cases, it can't show that the problem never happen. Yours, -- Jean-Marc