At 11:34 AM 25/04/2001 -0400, Dan Sugalski wrote:
>At 11:01 AM 4/25/2001 -0300, Branden wrote:
>>2) Anyway, even resizing vtables we would need some more indirection to
>>determine in which position of the vtable is which operator.
>
>No. Each operator goes in a fixed position in the vtable, and it's the
>same for each table. Anything else is nasty, error prone, and slow.
Well, isn't the idea supporting adding new operators on run-time? That
cannot be done without having a table that maps the operator to the
position the operator has in the table...
If the distinction of compile-time and run-time matters, we have to
remember that Perl allows run-time to occur inside compile-time (through
BEGIN and END blocks) and also allows compile-time to occur inside run-time
(through eval). Tables would potentially have to be updated while the
program is running, because the change could be done inside of an eval.
>The other thing to consider is whether a vtable method is needed at all,
>or if what's really needed is another opcode. The opcode table will also
>be extendable and overridable, though it shares the same issues of thread
>safety as the vtables do.
This guy is starting to scare me...
>(Though it's much easier to handle, ... [snip]
And he continues to scare me...
- Branden