On Wednesday 18 April 2007 14:15, Alek Storm wrote:

> > If that's true, then users have to *know* the implementation details of
> > vtable methods.  Is it in C code or is it in PIR code?
>
> I have no idea why you're saying this.  Why does making vtable methods
> visible expose their implementation details?

Vtable methods written in C are not visible to PIR code.

See the code example I posted.

> I haven't said anything remotely like this.

If vtable methods written in PIR are visible to PIR code, I can draw no other 
conclusion.

If I want to use a PMC and call a vtable method directly from PIR, I can do 
that if and only if that method is a method defined in PIR.  I cannot do that 
if the method is a method defined in C.

Thus for my code to work robustly, I have to know about the internals of the 
method and hope that it does not change.

Again, the only part of :method that :vtable needs to imply is the part that 
sets the invocant in the proper register and makes 'self' available within 
the body of the method.

-- c

Reply via email to