[Haskell-cafe] Object Oriented programming for Functional Programmers

Colin Adams colinpauladams at gmail.com
Sat Jan 5 01:14:55 CET 2013


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 <timon.gehr at gmx.ch> wrote:

> 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<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/<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<http://tecomp.sourceforge.net/index.php?file=doc/papers/lang/modern_eiffel.txt#chapter_20>
>
>
>
>
>
> ______________________________**_________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130105/f975ea0e/attachment.htm>


More information about the Haskell-Cafe mailing list