Dan Sugalski wrote: > 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. I just expect consistency, e.g. nothing like sv_xyz, SvXYZ, SV_XYZ, SVt_XYZ and I wonder what else there would be!!! (damn XS!) - Branden