Sorry if I'm missing something here, since I haven't dived into the
innards of Parrot, but I thought control flow in Parrot was based on
continuations?  Presumably 'control exceptions' are really just
lexicaly-scoped exceptions, and exceptions are in turn just
outgoing-only continuations.  If you have first-class continuations,
goto should be pretty straightforward to implement...

Given which, since Perl6 also has first-class continuations at the HLL
(albeit tucked off where some . . . what was it . . . "benighted
pilgrim" won't run into them unexpectedly), goto might be implemented
at that level instead, and come into Parrot already translated into
continuation-speak (CPS, or not that far into la-la-lambda?)

Reply via email to