@@ -0,0 +1,683 @@
+class Environment(dict):%0A%0A    def __init__(self, parms=(), expressions=(), outer=None):%0A        %22%22%22When evaluating, procedures will pass in their parameters%22%22%22%0A        self.update(zip(parms, expressions))%0A        self.outer = outer%0A        %0A    def find(self, variable):%0A        %22%22%22Returns the lowest level Environment which has variable%22%22%22%0A        if variable in self:%0A            return self%0A        return self.outer.find(variable)%0A%09%09%0A%09def add_new(self, variable, value):%0A%09%09%22%22%22Adds a new definition to the environment. If the variable is already present, raises a VariableAlreadyPresentError%22%22%22%0A%09%09if variable in self:%0A%09%09%09raise(VariableAlreadyPresentError)%0A%09%09self%5Bvariable%5D = value

Revert "Removed redundant environment.py"