Alek Storm wrote:

$P0 = get_hll_namespace
$P1 = $P0.find_class("HLLClass")
$P2 = $P1.new()


Will new() be a vtable method or PCCMETHOD in a Class PMC?  That's the only
way I can see this syntax not conflicting with normal method-calling syntax.

new() is a class method, an ordinary method on the class object. So, in this code:

$P1 = get_class "Dog"
$P2 = $P1.new()
$P2.foobar()

new() is a method called on the class object, and foobar() is a method called on the instance of the class object. The two don't conflict because they're called on different objects.


It sounds like you're getting confused about what a PCCMETHOD is. It's a method defined in C code that can be called using the full Parrot calling conventions. That is, it's an ordinary method.

Allison

Reply via email to