While putting together the news entries for the 0.4.13 release, I ended up doing a code review on PMCProxy.

It looks like every low-level PMC is creating a proxy object for itself and these proxies are stored in the interpreter global parrot_interp_t.

I intended that proxies would only be created when they were needed by a subclassing Class PMC, and would only be stored in the Class PMC.


Looking at the code from another perspective, though, maybe what we've got here is the beginning of an "HLLSubclassable" role that adds a handful of Class methods to low-level PMCs.

Ultimately all PMCs need to be able to respond to inspect_str. And ultimately, all PMCs need to have an entry in their NameSpace so the type IDs can go away entirely. So these parts of the implementation are more general than PMCProxy.

Allison

Reply via email to