
There have been lots of proposals to fix the CATCALL problems in recent
years. None have been implemented (at least in ISE/GEC compilers. And
tecomp has been abandonded by its author - he is now writing a series of
blogs about a vapourware product called "Modern Eiffel").
I don't find the CATCALL problem a great problem in practice (one gets used
to avoiding the problem). But it is a nasty whole in the theory of the type
system.
On 3 January 2013 22:07, Timon Gehr
On 01/02/2013 11:19 PM, MigMit wrote:
On Jan 3, 2013, at 2:09 AM, Gershom Bazerman
wrote: On 1/2/13 4:29 PM, MigMit wrote:
BTW. Why you think that Eiffel type system is unsafe?
Well, if I remember correctly, if you call some method of a certain object, and this call compiles, you can't be certain that this object actually has this method. Could be that this object belongs to some subclass which removes this method.
Eiffel doesn't handle the relationship of co- and contra-variance of arguments with subtyping in a principled way. This is apparently known as the "catcall" problem. See, e.g., this article: http://www.eiffelroom.org/**node/517http://www.eiffelroom.org/node/517
Yes, variance is another big source of unsafety, that's for sure. And another reason I think there is no real "theory" behind Eiffel, just a bunch of features (or "concepts") boiled together.
There seem to be efforts to fix this: http://tecomp.sourceforge.net/**index.php?file=doc/papers/**proof/http://tecomp.sourceforge.net/index.php?file=doc/papers/proof/
The resulting language appears to be type safe: http://tecomp.sourceforge.net/**index.php?file=doc/papers/** lang/modern_eiffel.txt#**chapter_20http://tecomp.sourceforge.net/index.php?file=doc/papers/lang/modern_eiffel.t...
______________________________**_________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/**mailman/listinfo/haskell-cafehttp://www.haskell.org/mailman/listinfo/haskell-cafe