Safepoint does not work as documented in paper

Simon Marlow simonmar at microsoft.com
Tue Dec 5 09:42:32 EST 2006


Chris Kuklewicz wrote:
> One odd problem:  The paper on async exception defines:
>
> safePoint = unblock (return ())
>
> but this simply does not work in my testing.  Ever.  Even using
> {-# NOINLINE safePoint #-} or "-Onot"
>
> By comparision, this does work: safepoint = unblock (print "safe")
>
> So how can such a safePoint be written?

The window in 'unblock (return ())' is tiny, I'm not really surprised if nothing ever gets through it.  You might have more luck with 'unblock yield'.

(BTW, I think glasgow-haskell-users at haskell.org is a more appropriate list, so I'm replying there instead).

Cheers,
        Simon


More information about the Glasgow-haskell-users mailing list