5. A method of operating a computer system comprising the steps of: A) processing a computer program in a processor, during which a plurality of program values are assigned to a plurality of program variables for evaluating a plurality of functions included in said program; B) storing a plurality of name/value pairs in a memory, each name/value pair comprising a variable name and an associated value, said storing step including the steps of i) storing a first set of said name/value pairs in a static scope, said name/value pairs of said first set including values for the associated variable names that are defined when, during processing of said program, a first set of said functions is defined, said first set of said functions including a first plurality of said program variables that correspond to said variable names of said first set of name/value pairs; and ii) storing a second set of said name/value pairs in a dynamic scope, said name/value pairs of said second set including values for the associated variable names that are defined when, during processing of said program, a second set of said functions is applied, said second set of said functions including a second plurality of said program variables that correspond to said variable names of said second set of name/value pairs; and C) said processing step including, for each program variable, the steps of (i) checking whether a corresponding name/value pair is stored in said static scope means, and (ii) if corresponding name/value pair is not stored in said static scope, both retrieving a value of one of said name/value pairs corresponding to said program variable from said dynamic scope, and binding said retrieved value as said program value to said program variable.
5. A method of operating a computer system comprising the steps of: A) processing a computer program in a processor, during which a plurality of program values are assigned to a plurality of program variables for evaluating a plurality of functions included in said program; B) storing a plurality of name/value pairs in a memory, each name/value pair comprising a variable name and an associated value, said storing step including the steps of i) storing a first set of said name/value pairs in a static scope, said name/value pairs of said first set including values for the associated variable names that are defined when, during processing of said program, a first set of said functions is defined, said first set of said functions including a first plurality of said program variables that correspond to said variable names of said first set of name/value pairs; and ii) storing a second set of said name/value pairs in a dynamic scope, said name/value pairs of said second set including values for the associated variable names that are defined when, during processing of said program, a second set of said functions is applied, said second set of said functions including a second plurality of said program variables that correspond to said variable names of said second set of name/value pairs; and C) said processing step including, for each program variable, the steps of (i) checking whether a corresponding name/value pair is stored in said static scope means, and (ii) if corresponding name/value pair is not stored in said static scope, both retrieving a value of one of said name/value pairs corresponding to said program variable from said dynamic scope, and binding said retrieved value as said program value to said program variable. 8. The method in accordance with claim 5, further comprising the step of updating said static scope means and said dynamic scope means when each of said retrieved values are bound to said program variables and when, during processing of said computer program, said program variables are assigned new values.