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

Reply via email to