[Haskell-cafe] Object Oriented programming for Functional Programmers

Timon Gehr timon.gehr at gmx.ch
Thu Jan 3 23:07:45 CET 2013


On 01/02/2013 11:19 PM, MigMit wrote:
>
> 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.
>

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






More information about the Haskell-Cafe mailing list