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 &quot;Modern Eiffel&quot;).<div>
<br></div><div>I don&#39;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.<br><br><div class="gmail_quote">On 3 January 2013 22:07, Timon Gehr <span dir="ltr">&lt;<a href="mailto:timon.gehr@gmx.ch" target="_blank">timon.gehr@gmx.ch</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 01/02/2013 11:19 PM, MigMit wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Jan 3, 2013, at 2:09 AM, Gershom Bazerman &lt;<a href="mailto:gershomb@gmail.com" target="_blank">gershomb@gmail.com</a>&gt; wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 1/2/13 4:29 PM, MigMit wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
BTW. Why you think that Eiffel type system is unsafe?<br>
</blockquote>
Well, if I remember correctly, if you call some method of a certain object, and this call compiles, you can&#39;t be certain that this object actually has this method. Could be that this object belongs to some subclass which removes this method.<br>

<br>
</blockquote>
<br>
Eiffel doesn&#39;t handle the relationship of co- and contra-variance of arguments with subtyping in a principled way. This is apparently known as the &quot;catcall&quot; problem. See, e.g., this article: <a href="http://www.eiffelroom.org/node/517" target="_blank">http://www.eiffelroom.org/<u></u>node/517</a><br>

</blockquote>
<br>
Yes, variance is another big source of unsafety, that&#39;s for sure. And another reason I think there is no real &quot;theory&quot; behind Eiffel, just a bunch of features (or &quot;concepts&quot;) boiled together.<br>
<br>
</blockquote>
<br></div>
There seem to be efforts to fix this:<br>
<a href="http://tecomp.sourceforge.net/index.php?file=doc/papers/proof/" target="_blank">http://tecomp.sourceforge.net/<u></u>index.php?file=doc/papers/<u></u>proof/</a><br>
<br>
The resulting language appears to be type safe:<br>
<a href="http://tecomp.sourceforge.net/index.php?file=doc/papers/lang/modern_eiffel.txt#chapter_20" target="_blank">http://tecomp.sourceforge.net/<u></u>index.php?file=doc/papers/<u></u>lang/modern_eiffel.txt#<u></u>chapter_20</a><div class="HOEnZb">
<div class="h5"><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>