evalFunctionOnList: Evaluate Function Under Local Variables
Description
This function evaluates a function x under an
environment which is created by a list. All elements of the
list is local to the function; other words all elements of
the list can be accessed directly by the function. A new
environment is created and each element of variables
is assigned to the new environment. Then the environment
associated with the x is updated with the new
environment. Finally x(...) is evaluated and return
the result.