[Haskell-cafe] Object Oriented programming for Functional Programmers
miguelimo38 at yandex.ru
Wed Jan 2 23:19:11 CET 2013
On Jan 3, 2013, at 2:09 AM, Gershom Bazerman <gershomb at 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.
More information about the Haskell-Cafe