Thanks for the reference. I base my opinion on my own observations - e.g. the repeated failures of attempting to model stream processing with infinite lists, the relative success of modeling exceptions explicitly with monads compared to use of `fail` or SomeException, etc..<div>
<br><div class="gmail_quote">On Mon, Jan 23, 2012 at 6:29 AM, Sebastian Fischer <span dir="ltr">&lt;<a href="mailto:fischer@nii.ac.jp">fischer@nii.ac.jp</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 Sun, Jan 22, 2012 at 5:25 PM, David Barbour &lt;<a href="mailto:dmbarbour@gmail.com">dmbarbour@gmail.com</a>&gt; wrote:<br>
&gt; The laws for monads only apply to actual values and combinators of the monad algebra<br>
<br>
</div>You seem to argue that, even in a lazy language like Haskell,<br>
equational laws should be considered only for values, as if they where<br>
stated for a total language. This kind of reasoning is called &quot;fast<br>
and loose&quot; in the literature and the conditions under which it is<br>
justified are established by Danielsson and others:<br>
<br>
    <a href="http://www.cse.chalmers.se/~nad/publications/danielsson-et-al-popl2006.html" target="_blank">http://www.cse.chalmers.se/~nad/publications/danielsson-et-al-popl2006.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
Sebastian<br>
</font></span></blockquote></div><br></div>