You are considering read-ony PMC versus others. Another issue
is  properties. Many PMCs "classes" will support properties that will
alter their behavior. But most PMC instances will have no property
attached to them. Or just default values of them if you see it that
way.

To avoid to go back the slow world of perl5 where many things
need to be tested before figuring what to do, performancewise,
there is little choice but to have two versions of each PMC
class, a fast one that is devoid of property support and another
slow one that does support them.

Note to the newcomers: A property is information dynamically
attached to a PMC. At the Perl6 language level, it is for example
a boolean value attached to a Perl integer: '0 but true'. At the
PMC level, a property is set by setprop() that by default adds
info to a hash, but could well setup flags in the pmc if it is
more appropriate for a given property and pmc type.

--
 stef

Reply via email to