> > When this issue was discussed earlier, I think, SimonM pointed out > > that (especially in the context of concurrency) it is hard to define > > what exactly is supposed to happen with such exceptions. > > I'm not sure I see the difficulty - but I'll go ahead and make up my > own solution (which will probably be much like what GreenCard does...)
You probably want the caller to handle the exception, and the caller is probably a C function. So the right way to do it is to catch the exception in Haskell and return some kind of error value to the caller; this is best done by the programmer, since there are plenty of choices for the mechanism used to pass the error value back. The default behaviour of terminating the program (and reporting the exception, of course) is the safest thing to do in the absence of any alternative handling. Cheers, Simon _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi