Incorrect *if* the semantics distinguishes between () and _|_ (as apparently is the choice in Haskell).<br> <br><br><div class="gmail_quote">On Sat, Jan 24, 2009 at 2:40 PM, Jake McArthur <span dir="ltr">&lt;<a href="mailto:jake@pikewerks.com">jake@pikewerks.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">Thomas Davie wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
the only change is that computations resulting in the<br>
unit type *can&#39;t* non terminate, because we can always optimize them down to ().<br>
</blockquote>
<br></div>
No. &quot;Optimizing them down to ()&quot; changes the semantics of the computation. This is incorrect behavior.<div><div></div><div class="Wj3C7c"><br>
_______________________________________________<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/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>