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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,f66d11aeda114c52 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,f66d11aeda114c52 X-Google-Attributes: gid103376,public From: nospam@thanks.com.au (Don Harrison) Subject: Re: Design By Contract Date: 1997/09/04 Message-ID: #1/1 X-Deja-AN: 269839349 Sender: news@syd.csa.com.au X-Nntp-Posting-Host: dev50 References: Organization: CSC Australia, Sydney Reply-To: nospam@thanks.com.au Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 1997-09-04T00:00:00+00:00 List-Id: Jon S Anthony wrote: :In article nospam@thanks.com.au (Don Harrison) writes: : :> System validity, in its broadest sense, means that all usage of entities : :Well, you can define it anyway you wish, I suppose, but I was simply :refering to its "traditional" usage vis-a-vis Eiffel. Sure. :> While Eiffel currently fails WRT polymorphic usage, Ada fails WRT other :> usage. See Deja News for details. :> :> So, your claim that Ada doesn't have system validity problems is false. : :As I recall, that scenario required the _concious_ and _explicit_ :choice to violate certain aspects via Unchecked_Conversion. No, I'm not referring to Unchecked_Conversion. As we both know, all bets are off when you choose to do naughty things. I recall we agreed that neither Ada nor Eiffel stopped you statically from trying to attach an out-of-range value at runtime - for Ada, to a subtype; for Eiffel to a precondition-constrained type. However, I recall Norman Cohen (I think) volunteering a hole in Ada's type system - don't remember the details, though. BTW, where is Norm these days? Haven't seen him in c.l.a. lately. :Not at all the same as the concealed land mines of Eiffel. But, I'm not :going to say these are somehow ultra-bad or something. In practice :they are probably not that big of a deal if you are aware and careful :to avoid the situations. Quite true. Essentialy, being able to break polymorphism isn't any worse than the uncertainty of not knowing whether a precondition will always be satisfied. It can justifiably be regarded as a variant of just that. There's no question, of course, that it would be preferable to exclude such errors statically, rather than having to deal with them dynamically. :Besides, you snipped the one of two smileys :I had in there... True. Don. (Reverse to reply) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Don Harrison au.com.csa.syd@donh