Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 7:26 PM +0100 11/11/04, Leopold Toetsch wrote:

>>Patch is probably ready tomorrow.

> Cool. I think I'd like to skip having to specify the -Oc flag,
> though, and add explicit syntax to PIR.

Do we really need it? Are there wicked cases, where we could misdetect a
tail call?

As far as I know is any sequence looking like:

    ...
    (a,b) = foo(...)
    .return (a,b)
  .end

a tail call. That is the call to a function immediately followed by a
return, which is the last operation of that function,  has the same
return value(s) as the actual return.
At least that's what the code with -Oc is checking now.

> ... Double-colons before
> the opening parenthesis or something. Foo::().

That's looking too much like some kind of perlish class thingy.

Why not just:

  .return->  foo(args)        # "return trough" token

leo

Reply via email to