Dan Sugalski <[EMAIL PROTECTED]> wrote: > I'm drawing the distinction between an operation > on the container and an operation on all the > container's contents here. I think it's the right > distinction.
Sure. But the prefix C<hyper> just is the distinction. PerlArray's add, add_int, bitwise whatever vtable slots are all unused. There isn't any usage for these except throwing an exception or being overloaded as an C<hyper> operation. The C<hyper> prefix could look at the vtable and if it's overloaded just call it. If it's not overloaded a loop like that in my proof of concepts is run which (for PMCs) calls the aggregates member's vtable. >>With separate vtable entries, you'll either have to duplicate the whole >>MMD slots, with one extra indirection for vtable->hyper->func, or >>overloading is an all or nothing operation. Both is suboptimal. > The extra indirection for hyper ops isn't a big > deal. No. But it is for MMD. >> hyper >> op args >> >>or maybe >> >> hyper .OP, args > I dunno. It's awfully early to be wedging in > hacks--we ought to at least wait until we've hit > 1.0... I do consider 1000 more opcodes being a hack ;) leo