At 1:46 AM -0800 2/16/02, Brent Dax wrote:
>The three subsystems I'm exposing are strings, PMCs, and vtables.  These
>changes take care of strings; PMCs and vtables are more involved, and it
>may take some time before I can get them working.
[Snip]
>If anyone has problems with any of this, let me know.

I do, alas. What you're looking to do looks pretty good from a 
current practices perspective, but I've a mildly different view.

Firstly, embedders shouldn't see much of anything at all. The things 
you're  proposing really fall into the extension arena, which is 
fine. However...

Details of strings, PMCs, and vtables shouldn't be exposed to people 
writing extensions. Strings and PMCs should be opaque types, and 
vtables shouldn't be exposed at all, to hide the details of the 
implementation. Structure should be completely unexposed.

Only the core and PMC class authors should see the vtables, and only 
people actually writing them in C. (PMC classes written in 
perl/python/ruby/whatever should see the interface their particular 
HLL exposes)

Probably a good first step for an extending and embedding PDD, if we 
want just a single one, is to define what's visible where, and what's 
black magic in other places, just so we can keep this stuff straight.
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to