# SICP Solutions

### Chapter 5, Computing with Register Machines

#### Exercise 5.43

• Used the code scan-out-defines from ex-4.16.
• Because scan-out-defines convert the code into a let expression, we need our compiler to parse let expresstions. This can be done just by converting the code of let into lambda which we have already done in ex-4.6.
• There’s a subtle point about the return value of scan-out-defines. It should be returning a sequence because we send its output to compile-sequence. It turns out that it is already doing so as per the old implementation! So, nothing needs to be done.

Well, that’s it!

Here are the changes:

Also, there are few changes in ch5-syntax.scm - to add support for let?: