The 'find_type' opcode seems to return a positive integer for a PMC or
ParrotObject, and a negative integer for a Parrot datatype such as
"longlong".

How is this useful? If you are using 'find_type' to get an int to pass
to the 'new' opcode then you don't want the negative type numbers, and
if you do want to lookup a native Parrot datatype you can just
include /runtime/parrot/include/datatypes/pasm which defines them all as
constants.

Also, you can't use "newclass" with a class name that happens to be the
same as a native datatype. For example:

   .sub main :main
      $P1 = newclass "INTVAL"
   .end

...gives the rather bizarre message

   native type with name '';'' already exists - can't register PMC

Maybe I'm missing something deep here...

Regards,
Roger Browne

Reply via email to