
24 May
2007
24 May
'07
8:18 a.m.
On Thu, May 24, 2007 at 08:38:15AM +0100, Simon Peyton-Jones wrote:
So I think it's a bug in the Report. To fix it, you could try
do e = e >>= return
Which would still respect the dynamic semantics (albeit with a gratuitous extra >>=) but would now have the right static semantics
Except that this monad law does not always hold. Perhaps do e = e `asTypeOf` return undefined