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 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c5ca2cbae60e9fee X-Google-Attributes: gid103376,public From: Jeffrey L Straszheim Subject: Re: OO puzzle Date: 1999/12/30 Message-ID: <386C07D7.A24A36F5@shadow.net>#1/1 X-Deja-AN: 566714459 Content-Transfer-Encoding: 7bit References: <386102F6.56CEFA22@averstar.com> <83sq9g$5ml$1@nnrp1.deja.com> Organization: I've tried organization, but it just didn't work for me. Content-Type: text/plain; charset=us-ascii MIME-Version: 1.0 Newsgroups: comp.lang.ada X-Complaints-To: newsabuse@supernews.com Date: 1999-12-30T00:00:00+00:00 List-Id: Brian Rogoff wrote: > Just to refresh my memory, do any real Eiffel compilers do system validity > checking, or deal with "polymorphic catcalls" as decribed recently by > Meyer, or do all compilers just punt on this issue? Well, to use your term, they all "punt". > Even the theoretical checks require global analysis right? This doesn't > sit well with the goal of separate compilation. True, which is among the reasons it has never been implemented. The more restrictive "catcall" proposal does allow separate compilation, but it would render a rather large subset of currently working Eiffel software invalid. Myself, I would find that intolerable. > Parameter covariance seemed like a huge mistake of the Eiffel design to > me. Is it all fixed and working now? I have mixed feelings. I've used covariance, and it turns out that I found it generally useful, even while the holes in the type system bothered me on a basic level. I've suggested several times on the Eiffel forums that sufficient run time testing would be satisfactory. You see, most current Eiffel flavors now simply fly into hyperspace if you end up making an illegal catcall during execution. I think a run- time exception would be a fine compromise. At a certain abstract level, Ada has a similar issue, in that I can declare a subtype and, as it turns out, have no formal guarantee that I won't violate its constraint. In both situations one could make the effort to prove that a violation will not occur, but in neither case does the language formally guarantee it. -- Jeffrey Straszheim -- Systems Engineer, Programmer -- http://www.shadow.net/~stimuli -- stimuli AT shadow DOT net