bruce@menkar.gsfc.nasa.gov (Bruce Mount 572-8408) (02/24/90)
In the current JOOP (Jan/Feb 1990, page 10), Hans-Stephan Jansohn questions the type-checking ability of Eiffel in a detailed letter to the editor. Briefly, he shows a code example that circumvents Eiffel's type-checking by redefining a function in a descendant class and then accessing that function via polymorphism. I, to my extreme chagrin, do not have access to an Eiffel system. 1. Has anyone tried Jansohn's example? 2. If so, is his point valid? 3. If valid, are there workarounds? 4. Is this IS a problem, will it be addressed by 3.0 (hello ISE)? Feel free to contact me for details, if needed. I would be happy to summarize responses to the net. ================================================= | Bruce Mount "Brevity is best" | | bruce@atria.gsfc.nasa.gov | =================================================
bertrand@eiffel.UUCP (Bertrand Meyer) (02/25/90)
From <2829@umbc3.UMBC.EDU> by bruce@menkar.gsfc.nasa.gov (Bruce Mount 572-8408): > In the current JOOP (Jan/Feb 1990, page 10), Hans-Stephan Jansohn questions > the type-checking ability of Eiffel in a detailed letter to the editor. The matter at hand (on which I receive about two letters a week reporting it as a newly discovered problem) was discussed in excruciating detail long ago. Please see <176@eiffel.UUCP> and <177@eiffel.UUCP>, a two-part article posted on July 10, 1989 in this newsgroup. Briefly: - No other policy than the Eiffel one is possible to write realistic object-oriented software (as opposed to toy examples). - The question was addressed too summarily in my book ``Object-Oriented Software Construction''. The topic of the book was the method, however, not the language per se, which is covered by ``Eiffel: The Language'', currently a manual available from Interactive. - The current Eiffel implementation misses some erroneous cases which are easy to concoct in artificial examples but seldom arise in practice. (I cannot recall a single example in our own experience of writing hundreds of thousands of lines of Eiffel.) - The strategy for dealing with these cases was outlined in the net article mentioned above. It will be implemented as part of Interactive's version 3 of Eiffel. -- Bertrand Meyer bertrand@eiffel.com
alonzo@microsoft.UUCP (Alonzo GARIEPY) (03/10/90)
In article <255@eiffel.UUCP| bertrand@eiffel.UUCP (Bertrand Meyer) writes: | From <2829@umbc3.UMBC.EDU> by bruce@menkar.gsfc.nasa.gov (Bruce Mount): | | In the current JOOP (Jan/Feb 1990, page 10), Hans-Stephan Jansohn questions | | the type-checking ability of Eiffel in a detailed letter to the editor. | - No other policy than the Eiffel one is possible to write | realistic object-oriented software (as opposed to toy examples). Given the magnitude of this compromise and of the criticism it has engendered, it would be good to see a supporting argument. Example programs that demonstrate the flaw are not artificial, but inevitable. Indeed, it seems that only toy examples can be guaranteed to avoid it. Your article of July 10th is not compelling and the policy statement above sounds too much like famous last words. Such a hole in what purports to be a type safe language is shocking, to say the least. Alonzo Gariepy -- This message is not a representation of the alonzo@microsoft -- policies or opinions of Microsoft Corp.
bertrand@eiffel.UUCP (Bertrand Meyer) (03/11/90)
I would really like to refrain from further comments on the issue of Eiffel type checking for the time being. for several reasons: - My July article explained in detail why the Eiffel type rules are what they are, and why we believe they are the right ones. Although, as always, I would certainly try to improve that article if I were to rewrite it (which I will), I have nothing fundamental to add or change to it. - In spite of the above, there was a discussion of this topic in the newsgroup comp.software-eng recently (which I assume Mr. Gariepy had not seen when he posted his article). I posted a fairly long article (<264@eiffel.UUCP>) providing further material. See also <259@eiffel.UUCP> and, for other people's comments, <Ec.3251@cs.psu.edu>, <259@eiffel.UUCP>, <9790@medusa.cs.purdue.edu> and <102100004@p.cs.uiuc.edu>, all posted in comp.software-eng. - I will feel much more comfortable when our type checker catches all the cases it currently misses. (Let me reiterate, however, that in disagreement with Mr. Gariepy I do think they are artificial, as confirmed by our own experience.) - Finally, we are trying to convene a good set of panelists so as to have a useful, comprehensive live debate on the topic of type checking for object-oriented languages at TOOLS '90 in Paris in June. I hope differing viewpoints can be exposed and argued in depth. We should all learn in the process. -- Bertrand Meyer bertrand@eiffel.com