Thus did the Illustrious Dan Sugalski <[EMAIL PROTECTED]> write: > Croak's going to throw an interpreter exception. There's > a little bit of > documentation about the exception handling opcodes in > docs/parrot_assembly.pod, with more to come soonish.
This is fine at the target language level (e.g. perl6, python, jako, whatever), but how do we throw catchable exceptions up through six or eight levels of C code? AFAICS, this is more of why perl5 uses the JMP_BUF stuff - so that XS and functions like sv_setsv() can Perl_croak() without caring about who's above them in the call stack. The alternative is that _every_ function simply return a status, which is fundamentally expensive (your real retval has to be an out parameter, to start with). -- BKS __________________________________________________ Do You Yahoo!? Listen to your Yahoo! Mail messages from any phone. http://phone.yahoo.com