On 12/11/2010 07:49, Mitar wrote:
On Wed, Nov 10, 2010 at 4:48 PM, Simon Marlow<marlo...@gmail.com> wrote:
You can use maskUninterruptible in GHC 7, but that is not generally
recommended,
Maybe there should be some function like maskUninterruptibleExceptUser
which would mask everything except UserInterrupt exception. Or maybe
UserInterrupt and some additional exception meant for use by programs,
like InterruptMaskException.
That's hard to do, because the runtime system has no knowledge of
exception types, and I'm not sure I like the idea of baking that
knowledge into the RTS.
Furthermore I'm not sure about the usefulness of
maskUninterruptibleExceptUser - it seems even less useful than
maskUninterruptible to me. The point of maskUninterruptible is for
those hoefully rare rare cases where (a) it's really inconvenient to
deal with async exceptions and (b) you have some external guarantee that
the critical section won't block.
Or we could make two new type classes:
HiddenException -- for those exceptions which should not print
anything if not caught
We could do that (or something like it), yes.
UninterruptibleExceptException -- for those exceptions which should
not be masked with maskUninterruptibleExcept function
but not this (see above).
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users