SICP Solutions

Chapter 3, Modularity, Objects, and State

Exercise 3.45

Well, this is straight forward. In exchange the procedre calls withdraw and withdraw is serialized using the same serializer from which we are calling exchange. So, the program will keep waiting for itself! Because withdaw can be called only when exchange is completed but exchange can not be completed without calling withdraw.