Patrick R. Michaud wrote:
On Sat, Sep 13, 2008 at 01:55:05PM -0400, Will Coleda wrote:
+ CONTROL_TAKE
} exception_type_enum;
Tcl can currently deal with OK, CONTINUE, BREAK, ERROR, and RETURN.
What's TAKE?
TAKE is like CONTROL_RETURN except that it signals that we expect
execution to continue after the point of the TAKE. It's quite
similar to a .yield operation for coroutines.
Would CONTROL_YIELD make more sense? I would have known what yield meant.
It might be a bit misleading, because it doesn't actually correspond
to a .yield (and thus I can envision CONTROL_YIELD as yet another
exception type). I'm still brainstorming ways to get the gather/take
semantics we need by using Parrot's .yield, but so far I haven't
come up with a good way to do it.
Eventually we'll need to stop defining exception types as a global enum,
and let individual languages define their own. EXCEPTION_TAKE really
doesn't make sense for anything other than Perl 6. Not today, but someday.
Allison