Instructor solution
You may exit out of this review and return later without penalty.
Environments
1.What bindings can be found in the following example?
(define (func x) <br> (let ([helper (lambda (x) (* x x))]) <br> (helper (+ x 1))))<br>(func 5)
2.Which scopes are present in the following example?
(define (func x) <br> (let ([helper (lambda (x) (* x x))])<br> (helper x)))
3.What are some data structures we could use to represent an environment?
4.What is the difference between an environment and a scope?
5.What would we lose by having a interpreter with a single global environment instead of an environment-passing interpreter as discussed in class?
6.Why do we always pass an environment in our eval functions even if some of them don't use it?
7.How do you store a lambda form in an environment?
8.How did we fix our method of procedure evaluation to support nested lambdas?
9.When would we want to delete a binding from out environment?
10.What information is needed to store a lambda expression?
You may exit out of this review and return later without penalty.