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