At 10:46 PM 8/31/00 +0000, David L. Nicol wrote:
>Dan Sugalski wrote:
> >
> > Okay, here's a list of functions I think should go into variable vtables.
>
>All the math functions are in here.  Can the entries that my type does
>not use be replaced with other functions that my type does use?

That's what overloading does.

> > Functions marked with a * will take an optional type offset so we can
> > handle asking for various permutations of the basic type.
>
>
>These aren't going to be that huge then, with each one taking *void() 
>thismuch[30]
>or so; why don't we skip the "optional offset" and make subclasses keep
>their whole own copy?  Will 240 bytes per type blow out a modern cache?

Nope. When I said optional offset, I meant that the version of perl you 
were using might or might not have the capability to do this, depending on 
compile-time options.

>         clarify (where does this type go to resolve uncached method names?)
>
>or is that better kept in a global clarifier that keeps it's own mapping.

You're confusing perl-level objects with these low-level internals things. 
This stuff isn't really visible except to people writing new variants on 
base perl types, so you won't see it unless you're writing overload code.

>I think the list is too long, for the base type.  Could the base type be
>something that just knows how to return its type name, in order to build
>types that do not have defined STRING methods?

We're shooting for speed here. Any common operation that could be affected 
by the type of the variable should be represented so a custom function can 
be called that does exactly what needs to be done.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to