Oops, I was misreading. You have `e` here as the next monad.

In any case, I think the monad identity concept messed up. The property:
  return x >>= f = f x

Logically only has meaning when `=` applies to values in the domain.
`undefined` is not a value in the domain.

We can define monads - which meet monad laws - even in strict languages.


On Sat, Jan 21, 2012 at 11:02 AM, David Barbour <dmbarb...@gmail.com> wrote:

> On Sat, Jan 21, 2012 at 10:51 AM, David Menendez <d...@zednenem.com>wrote:
>
>> The Eval monad has the property: return undefined >>= const e = e.
>>
>
> You can't write `const e` in the Eval monad.
>
>
>
> From what I can tell, your proposed monads do not.
>>
>
> You can't write `const e` as my proposed monad, either.
>
> Regards,
>
> Dave
>
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to