Luke Palmer <[EMAIL PROTECTED]> wrote: > The question is, though, how do compilers think of it? That is, does > the compiler have the liberty, given the code:
> $x ** $y > To emit: > pow $P0, x, y > Or must it use a named multimethod? Well, that's a thing compilers (or their writers ;) have to know. We can just provide a consistent set of operands for implemented opcodes. The compiler can query the opcode library, if it contains an opcode (imcc does that). But the compiler must still have a clue that such and opcode exists (and under which name). gcc is in a worse position. It can hardly query the i386 if it can execute "lwx" ;) > This is just the age-old question, is this operation "fundamental" > according to Parrot? "pow" is a MMD opcode, it's in Python too. It's fundamental. The syntax "x ** y" is indicating that too. > Luke leo