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..

On Mon, Jan 23, 2012 at 6:29 AM, Sebastian Fischer <fischer@nii.ac.jp> wrote:
On Sun, Jan 22, 2012 at 5:25 PM, David Barbour <dmbarbour@gmail.com> wrote:
> The laws for monads only apply to actual values and combinators of the monad algebra

You seem to argue that, even in a lazy language like Haskell,
equational laws should be considered only for values, as if they where
stated for a total language. This kind of reasoning is called "fast
and loose" in the literature and the conditions under which it is
justified are established by Danielsson and others:

   http://www.cse.chalmers.se/~nad/publications/danielsson-et-al-popl2006.html

Sebastian