>>>>> "DS" == Dan Sugalski <[EMAIL PROTECTED]> writes:

DS> Okay, here's a list of functions I think should go into variable vtables. 
DS> Functions marked with a * will take an optional type offset so we can 
DS> handle asking for various permutations of the basic type.


DS>     type
DS>     name

What are this used for?


DS>     get_bool

Is this allowed to return a non-true/false result? Or is everything 
true or false?

DS>     get_string *
DS>     get_int *
DS>     get_float *

What does the optional type argument do?
What about collection types?

Why not simply collapse these into a single one with an option argument?
What should a get_* do if inappropriate for its type?

DS>     get_value

What does this do that the above three do not?

DS>     set_string *
DS>     set_int *
DS>     set_float *
DS>     set_value


DS>     add *
DS>     subtract *
DS>     multiply *
DS>     divide *
DS>     modulus *

Where is the argument to be added/subtracted/etc. ? On the stack?

DS>     clone (returns a new copy of the thing in question)

Isn't this a deep problem? (Should be near the top of the vtbl

DS>     new (creates a new thing)

Why does the thing have to do a new? (move earlier)

DS>     concatenate

DS>     is_equal (true if this thing is equal to the parameter thing)
DS>     is_same (True if this thing is the same thing as the parameter thing)

How does THIS figure out how to get THAT to give a usable value?

DS>     logical_or
DS>     logical_and
DS>     logical_not

DS>     bind (For =~)
DS>     repeat (For x)

Are these so that operators can be overriden?

DS> Anyone got anything to add before I throw together the base vtable RFC?

Are you going to fully specify the expected input and results in the RFC?

<chaim>
-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to