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