It is an error if environment has no parent. This does not include the names that are bound by the parent environment of environment . Returns the value to which it is bound. Symbol must be bound in environment or one of its ancestor environments. Modifies the binding to have object as its value, and returns an unspecified result.
Environment can be either an environment or a procedure object.
If it's a procedure, the environment in which that procedure was closed is the new environment. The operations in this section return environments that are constructed by the interpreter. In particular, they force the current environment to be represented in a form suitable for use by the interpreter. This prevents the compiler from performing many useful optimizations on such environments, and forces the use of the interpreter for variable references in them. At that time, other uses of these constructs will be disallowed.