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