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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,e0a59694a441eb7b X-Google-Thread: 103376,e0a59694a441eb7b X-Google-Thread: fac41,e0a59694a441eb7b X-Google-Thread: 1108a1,e0a59694a441eb7b X-Google-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,public X-Google-ArrivalTime: 2004-04-24 19:24:38 PST Path: archiver1.google.com!news1.google.com!news.glorb.com!cyclone1.gnilink.net!spamkiller2.gnilink.net!gnilink.net!nwrdny01.gnilink.net.POSTED!0e8a908a!not-for-mail From: Hyman Rosen User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.eiffel,comp.object Subject: Re: OOP Language for OS Development References: <95db0572.0404142153.431fd058@posting.google.com> <566e2bfb.0404181753.2844342f@posting.google.com> <4088D574.2020503@tele2.fr> <1082732696.152155@master.nyc.kbcfp.com> <1082759585.818002@master.nyc.kbcfp.com> <108lhm1k8hmtf1d@corp.supernews.com> In-Reply-To: <108lhm1k8hmtf1d@corp.supernews.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Sun, 25 Apr 2004 02:24:37 GMT NNTP-Posting-Host: 68.237.200.148 X-Complaints-To: abuse@verizon.net X-Trace: nwrdny01.gnilink.net 1082859877 68.237.200.148 (Sat, 24 Apr 2004 22:24:37 EDT) NNTP-Posting-Date: Sat, 24 Apr 2004 22:24:37 EDT Xref: archiver1.google.com comp.lang.c++:31474 comp.lang.ada:7462 comp.lang.eiffel:746 comp.object:11126 Date: 2004-04-25T02:24:37+00:00 List-Id: Anthony Weissenberger wrote: > Hyman Rosen wrote: >> In Eiffel, Derived::Foo(Derived) overrides Base::Foo(Base). > > Your first statement is incorrect. You can decide whether it's > Derived::Foo (Derived) or Derived::Foo (Base). If you do implement the > former, you will indeed get an error. If you implement the latter, no > errors are generated. So what's your point? All OO languages let you do the latter. But only Eiffel allows the former, and it indeed can cause errors at runtime. What exactly do you think is incorrect about what I said? > Could you provide a scenario where you would need to have both the base > and derived class existing in the program, and you would need to > implement Derived::Foo (Derived) overriding Base::Foo (Base)? Beats me. Ask the Eiffel guys, since it's their theory. > Do you have any references which support your claims? Sure. is a paper with Bertrand Meyer as one of the coauthors, dated 2003, in which they are still talking about how to get compilers to do safe covariance.