
9 May
2007
9 May
'07
12:50 a.m.
On Tue, May 08, 2007 at 05:47:27PM -0700, Ashley Yakeley wrote:
Simon Marlow wrote:
That's exactly right. Evaluate was introduced because it does something different from (return $!). We tried in the documentation to be clear about its semantics, but perhaps we weren't clear enough. I'll add Isaac's suggested definition to the docs.
If Isaac's definition is accurate, we might as well generalise it to any Monad.
Isaac's definition is equivalent to the standard evaluate as I proved. However, my proof could be using misfeatures of IO. Stefan