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,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Roy Phillips Subject: Re: OO, C++, and something much better! Date: 1997/01/10 Message-ID: <32D64F6C.37D3@trcinc.com>#1/1 X-Deja-AN: 209394653 references: <5b1ais$oev@wdl1.wdl.lmco.com> content-type: text/plain; charset=us-ascii organization: The Technical Resource Connection, Inc. mime-version: 1.0 reply-to: roy.phillips@trcinc.com newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng x-mailer: Mozilla 3.01 (WinNT; I) Date: 1997-01-10T00:00:00+00:00 List-Id: Don Harrison wrote: > Mark A Biggar writes: > > :Of course there is nothing that requires > :that the provided function realy be a less-than function (which is usefull > :as providing a ">" instead reverses the order of the list) but Eiffel has the > :same problem and there is no guarentee that a class derived from COMPARABLE > :hasn't redefined "<" to do something else either. > > While it wouldn't be possible in this case, a level of confidence can be > provided in other situations using Eiffel postconditions. The problem with this approach is not really the deliberate substitution of the ">" with a "<": as stated, this can be a useful technique (I'd hate to have to maintain that code, all the same!). More problematical is the accidental substitution, for example of an operation with same name but an entirely differant meaning (for example, the terms 'interest' (financial domain) and 'interest' (marketing domain)) - blame the English language if you will, but without semantic specification (i.e., Eiffel assertions) the whole thing is a can of worms. - Roy