On Jan 25, 2006, at 21:21, Chip Salzenberg wrote:
On Tue, Jan 24, 2006 at 05:43:25PM +0100, Leopold Toetsch wrote:
*) what is vtable->package? A pointer to the namespace PMC of this
class? (It's currently unused)
Beats me. Vtables don't have namespaces. Pleaes just comment it as
"WTF?"
(or equivalent :-)).
Given that in P6 speak ...
00:27 < stevan> Class.isa(Package)
00:27 < stevan> Class.isa(Module), Module.isa(Package),
Package.isa(Object)
See also pugs/trunk/src/PIL/Native/Bootstrap/*.pil
... and a package/module is a namespace, it would make some sense, that
a vtable (which is part of the PMC class scheme) has a 'namespace'
field (as it already has 'class' and 'mro' fields).
Well, there is another vtable function that is very much related with
that: C<STRING* namespace_name()> currently used just for an extra
indirection to burn some CPU cycles in method lookup.
But without further separation of the objects vs class semantics of a
PMC and w/o interfaces probably not ;)
leo