>>>>> "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