On Wed, Jun 14, 2006 at 08:59:02PM -0700, Chip Salzenberg wrote: : Are Parrot exceptions now, in fact, resumable? If they are, is that : important? Is anyone actually resuming execution after exception handlers : are called? I think we _can_ keep resumability, but I'm not sure I want us : to, and I definitely don't want to bother if no one wants it.
The current thought for Perl 6 is that warnings are essentially just resumable control exceptions that by default are caught only by the outermost exception handler, which by default resumes them. But any exception handler in the dynamic scope may then catch one and turn it fatal. This gives us dynamic as well as lexical control of warnings without inventing a mechanism separate from existing control exceptions. On the other hand, I think we've also said that exceptions are resumable only if the thrower includes as part of the exception object a continuation to resume at, which presumably warn() does. So maybe you don't need to do anything special to make exceptions resumable for Perl 6, assuming throwing the exception doesn't clobber the continuation somehow. On the gripping hand, it looks like this is missing from the specs... Larry