From: Roger Hale <[EMAIL PROTECTED]>
   Date: Mon, 11 Apr 2005 09:30:32 -0400

   Bob Rogers wrote:
   >    From: Roger Hale <[EMAIL PROTECTED]>
   >    Date: Thu, 07 Apr 2005 04:23:41 -0400
   > 
   >    Leopold Toetsch wrote:
   >    > Roger Hale <[EMAIL PROTECTED]> wrote:
   >    > 
   >    >>Leopold Toetsch wrote:
   >    >>
   >    >>>As @ARGS (or @IN_ARGS, @OUT_ARGS) is being stored in the context, and
   >    >>>that context is defacto the continuation, yes - a tail-call would
   >    >>>inherit this information.
   >    > 
   >    >>But as each tail-call supplies a new @ARGS, how can this be the case?
   >    > 
   >    > We would have two parts in the context: @IN_ARGS, @OUT_ARGS. The
   >    > C<tailcall> opcode can preserve that part with the return context.
   > 
   >    It seems to me that both @IN_ARGS and @OUT_ARGS get used for other 
   >    things (the tail-calls' arguments) in a chain of tail-calls.
   > 
   > The definition of a tail call is that it returns its callee's results
   > back to its caller unmodified.

   Agreed, but...

   > So if @OUT_ARGS is used for other
   > things, then it's not a tail call.

   I don't understand.  @OUT_ARGS aren't the arguments returned (to my 
   understanding), they're the arguments to the next function in sequence.

My mistake; I had thought "@OUT_ARGS" meant "results".  I see I didn't
read Leo's original proposal carefully enough, and you were just
following his terminology; my apologies.  I agree that information about
return context can't live in @ARGS (in or out) directly.

   >    . . . but the continuation (I propose) does; and this continues to be
   >    good for whoever wants to know: the return object holds the return
   >    context.
   > 
   >    No?
   > 
   >    regards,
   >      Roger
   > 
   > I believe so, but I think this is what Leo meant by "... that context is
   > defacto the continuation."  There doesn't need to be a separate "return
   > object" because it would be one-to-one with the continuation.

   Sorry, by "return object" I was only meaning the continuation; you are 
   quite right.  Just using a different term for parallelism with "return 
   context", but I see it only introduced confusion.

So it sounds like we are all saying the same thing now?

                                        -- Bob

Reply via email to