On 01/02/2013 11:19 PM, MigMit wrote:

On Jan 3, 2013, at 2:09 AM, Gershom Bazerman <gersh...@gmail.com> 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/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/

The resulting language appears to be type safe:
http://tecomp.sourceforge.net/index.php?file=doc/papers/lang/modern_eiffel.txt#chapter_20




_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to