Leopold Toetsch wrote:
> 
> Benjamin Goldberg <[EMAIL PROTECTED]> wrote:
> 
> > I would suggest the opnames/categories "mutate," "alias," and
> > "create."
> 
> IMHO, we could leave PASM syntax as it is and create opcode aliases
> inside the assembler ...

You mean leave the old ops with their names, but merely make new aliases
for them with the scheme I suggested?

I would rather rename the ops, but make their old names aliases to the
new names.

Of course, in theory, there should be no visible difference whatsoever
between these two ideas :)

(Well, maybe for decompiling.)

> > I believe that the most in^H^H logical shorthand spellings of these
> > opcodes would be ":=", "=", and "<==", for alias, mutate, and create,
> > respectively.
> 
> But what I really want to have is these in the PIR code (except for the
> "create" one, which is:
> 
>   $P0 = new PerlInt
> 
> With an underlying create op, that does assign a value too, it could
> then be
> 
>   $P0 = new PerlInt (42)
> 
> or something.

But that would tempt people to do:

   $P0 = new SomethingElse (42)

Which sadly wouldn't work, since neither the create ops, nor the "new"
op, generalize that way.

But if the syntax is:

   $P0 <== 42

, we would not be impling a generality which doesn't exist.  Also, it
removes redundancy, since "42" already implies PerlInt, so we don't need
to spell that name out.

-- 
$a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca
);{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED]
]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}

Reply via email to