Current scheme:
Extenders include parrot/extend.h *only*. Extenders use the routines in
extend.c *only* and, if I've done my work right, things should Just Work
Right. Datatypes are opaque to extenders, but the native types to the code
in extend.c.
I'm tempted to do some sort of Funky Linker tricks, so the extension code
links against libparrotextend.so only, which only exports its documented
interface, and that lib links against libparrot in all its glory. (And
yes, I really am on a "Comaptibility at almost all costs" kick for this
stuff)
The interface isn't done, by any means, but it's enough to at least get
Arthur started for Ponie, I hope.
Dan