<div dir="ltr">On Wed, Oct 2, 2013 at 6:57 PM, Stijn van Drongelen <span dir="ltr">&lt;<a href="mailto:rhymoid@gmail.com" target="_blank">rhymoid@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><br></div></div><div><div class="h5">On Wed, Oct 2, 2013 at 5:36 PM, Roman Cheplyaka <span dir="ltr">&lt;<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>&gt;</span> wrote:<br>

<div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">* Stijn van Drongelen &lt;<a href="mailto:rhymoid@gmail.com" target="_blank">rhymoid@gmail.com</a>&gt; [2013-10-02 15:46:42+0200]<br>



<div>&gt; I do think something has to be done to have an Eq and Ord with more strict<br>
&gt; laws.<br>
&gt;<br>
&gt; * Operators in Eq and Ord diverge iff any of their parameters are bottom.<br>
<br>
</div>This outlaws the Eq instances of lists, trees, and other (co)recursive<br>
types.<br>
<br>
Furthermore, in this formulation, even Eq for tuples is illegal, because<br>
<br>
  (undefined, something) == somethingElse<br>
<br>
is going to diverge.<br>
<span><font color="#888888"><br>
Roman<br>
</font></span></blockquote></div><br></div></div></div><div class="gmail_extra">I knew this was going to bite me in the ass. Let me try again:<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">* Operators in Eq and Ord may only diverge when any of their parameters are bottom.</div>


</div>
</blockquote></div><br></div><div class="gmail_extra">What am I thinking. Scratch that.</div></div>