On Thu, Mar 19, 2009 at 3:26 PM, Patrick O'Keefe
<[email protected]> wrote:
> I agree, but I think the astonishment is aimed at the drop rather
> than the stem assignment.  (At least MY astonishment is.)   That
> behavior implies that the interpreter has to maintain both a list
> of specifically assigned variables and a list of specifically dropped
> variables (at least for stems that have been assigned).  I have no
> idea how the interpreters actually support the behavior of stem
> initialization, but I'm quite sure they don't predefine and assign
> every possible variable for the given stem.   They must, in fact,
> treat the assigned value as a default to be used for each
> unassigned and undropped variable associated with the stem.
>
> Including dropped variables in that behavior just adds work for the
> interpreter.

The key is to understand how the variables are maintained: in a
b-tree. So "x.='foo'" sets a node for "x.". Once you explicitly set
"x.banana", a new leaf is created for that. And when you drop a
variable, the leaf is maintained/created too.

Admittedly, the implementation isn't obvious, but it does allow for
arbitrary tails.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to