Cat Dancer wrote:
On 12/5/06, Chris Kuklewicz <haskell@list.mightyreason.com> wrote:
Making small programs to test these properties is a good sanity check. For instance I just leaned that "safePoint = unblock ( return () )" does not work.
Maybe if you do something to allocate some memory inside of the unblock?
If this were true, then if you caught an asynchronous exception from the putMVar operation, you'd know that a value was not put into the MVar by the operation.
I think that should be a safe assumption when running under "block".
"I think" and "should be" is nice, how do we find out if it's really true -- for sure?
Read the papers the have been written about the design (see the wiki for links) and ask the developers of the compiler you are using. nicely.