On Sat, Aug 30, 2008 at 10:40 AM, Allison Randal <[EMAIL PROTECTED]> wrote:
> Klaas-Jan Stol wrote: > >> On Sat, Aug 30, 2008 at 11:04 AM, Allison Randal <[EMAIL PROTECTED]> >> wrote: >> >>> >>>> Yes, it will be deprecated, or at least renamed. The C<.return> >>> directive >>> without parentheses is an old convention for passing a single return >>> result, >>> and must always be sandwiched between C<.begin_return> and >>> C<.end_return>. >>> >> >> Do you mean this one? (see next) >> >> .begin_return >> .return "hi" >> .return 42 >> .return 3.14 >> .end_return >> >> (which is the same as: .return ("hi", 42, 3.14) ) >> Is the purpose of renaming this to make a clear distinction between the >> '.return' directive in this long style of returning and the short one >> ('.return ()' ) ? >> > > Yes. That whole set of directives would benefit from clearer naming. > Perhaps: > > .set_return "hi" # return value passed, between .begin_return > # and .end_return > .set_arg "foo" # argument passed, between .begin_call and .end_call > .get_result # result retrieved, between .call and .end_call > > And, there's another C<.return> without parentheses that performs a >>> tail-call, invoking a sub or method reusing the same return continuation. >>> This should also be renamed. >>> >> >> Is the purpose to be more explicit on being a tailcall? (in that case, it >> could be renamed as ".tailcall" or whatever -- but that's obvious) >> > > Obvious is good. > > The only directive that should be named C<.return> is the one that returns >>> a value or values (i.e. it's syntactic sugar for a whole collection of >>> low-level directives/opcodes). >>> >> >> and this would be: .return ("hi", 42, 3.14) >> right? >> > > Yes. > > Allison Allison: I made the following changes in pirc/new: .arg -> .set_arg .result -> .get_result .return -> .tailcall (in context of .return foo() , which thus is now: .tailcall foo() ) .return -> .set_return (in long-style returning : .begin/end_return .yield -> .set_yield ( in long-style yielding : .begin/end_yield) >From your answers in your previous reply I deduce you support such changes. Can you reconfirm, then I'll make the appropriate changes in PDD19. thanks, kjs