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