Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion calling convention abstraction
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Bob Rogers  
View profile  
 More options Apr 12 2005, 10:05 pm
Newsgroups: perl.perl6.internals
From: rogers-pe...@rgrjr.dyndns.org (Bob Rogers)
Date: Tue, 12 Apr 2005 22:05:11 -0400
Local: Tues, Apr 12 2005 10:05 pm
Subject: Re: [PROPOSAL] calling convention abstraction
   From: Roger Hale <roger.h...@rcn.com>
   Date: Mon, 11 Apr 2005 09:30:32 -0400

   Bob Rogers wrote:
   >    From: Roger Hale <roger.h...@rcn.com>
   >    Date: Thu, 07 Apr 2005 04:23:41 -0400
   >
   >    Leopold Toetsch wrote:
   >    > Roger Hale <roger.h...@rcn.com> 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


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.