Exception handlers really strike me as anonymous lexically scoped subroutines that get called with just one parameter--the exception object. As far as the engine should be concerned, when an exception is taken we just take a continuation with the address being the start of the code that handles the exception. They need to get pushed on the system stack so we can walk up it at runtime when an exception is called looking for handlers.
I'm not yet sure whether it's worth having engine support for specific exception type checking (that is, make it so that the engine looks at the exception information and checks properties on the exception handler to see whether it should even be invoked), or if we should just leave that up to the languages that care about typed exceptions to rethrow anything a handler can't handle. I'm leaning towards having the exception handlers check and rethrow, as it's easiest and leaves the most flexibility to the languages.
Once we get the last bits of the continuation/sub/method stuff nailed down we can get this stuff going as well.
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk