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

Reply via email to