Let Expressions
To evaluate (let ((x1 e1) ... (xn en)) e):
- Evaluate, in left-to-right order, all the ei’s in the current environment.
- Extend the current environment with bindings that maps each xi to the value of ei.
- Evaluate e in the extended environment.
- Restore the old environment (i.e., remove the binding for the xi’s).
- Return the value of e.