... To evaluate (E1 E2 ... En), recursively evaluate
E1, E2,...,En - E1 should evaluate to a function and then apply the function value of E1 to the
arguments given by the values of E2,...,En.
In the base case, there are self evaluating
expressions (e.g. numbers and symbols). In
addition, various spec ...