Name: ____________________________________________________ Alpha: _____________________

Describe help received: _________________________________________________________________

Problem 1

Consider the following SPL interpreter interaction:
$ ./spl 
spl> new makeBank := lambda bal { ret := lambda amt { bal := bal + amt; ret := bal; }; };
spl> new b := makeBank@100;
spl> write b@-10;
90
spl> write b@-10;
80
spl> 
If I were to make the call b@15, draw the picture (in the same style as the diagrams in the lecture notes) of what the call stack and the frame(s) would look like just before the call to b is about to return. Note: this is assuming we are using frames and closures as discussed in class, notes and lab.