On Mon, Dec 29, 2008 at 05:07:22PM +0100, Bertram Felgenhauer wrote: > Simon Peyton-Jones wrote: > > > > This is odd (to me). The "permanently bound" stuff applies only to > > *synchronous* exceptions, which thread-killing is not. Simon M will > > have more to say when he gets back > > This is true when the exception is raised the first time. However, some > exception handling functions like 'bracket' catch the exception, do > their cleanup, and then throw the exception again. This is done in > onException, and goes through throwIO and eventually raiseIO#. At this > point the originally asynchronous exception has become a synchronous > one.
We don't currently have a way to know whether an exception was thrown asynchronously or not, right? Should we actually be throwing data SomeExceptionSync = SomeExceptionSync Bool -- synchronous? SomeException with catch etc ignoring the Bool, but bracket etc handling it appropriately? Thanks Ian _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users