At 04:43 PM 2/5/2001 -0200, Branden wrote: >Edwin Steiner wrote: I snipped a bunch of stuff here. Generally speaking low-level perl variables will share a single base structure, the PMC, which will be the same for hashes, arrays, lists, and scalars. (I'm not sure whether filehandles and dirhandles should be separate things, or just variants of scalars under the hood) Extensions will *not* deal with them in anything other than a completely opaque way, and extensions will *not* use vtable functions. They will instead use higher-level API to get data in and out of the PMCs. > > I thought of the `tie'-like thing because of Dan's: > > > > " The vtable stuff won't be exposed outside the core. This means embedding > > programs and extensions will *not* be using it. Generally speaking, >it'll > > be opcode functions only that'll be hitting the vtables. " > >I understand the point of view. I think Dan believes the vtable API is too >complicated to cope with directly, but I actually disagree with that. Nope. (Well, sort of, but there are days when I'm a Coder Of Very Little Brain, so take it with however much salt as need be) I want to isolate us from vtables for another reason entirely. Binary compatibility. If we isolate things that don't need to deal with vtables from those vtables it means we can completely redo how perl handles variables internally, but extensions and embedding apps won't need to know anything about it. Yank out the old, drop in the new, and nobody knows we switched from vtables to, say, the old perl5 way, or to some new Ultra-Clever(tm) variable access scheme. It also means that we isolate folks from the details they don't generally need to know. Not that I mind people knowing we do vtables, but you shouldn't be forced to care. The less annoying trivia about perl's internals you need to know the more room in your brain for useful things. (Or annoying trivia about other things, but that is *not* my problem...:) "Hiding" things like this (And yes, those quotes are actually appropriate) reduces the level of cognitive complexity. This is good--details are a pain in the butt, and people aren't good at details. Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk