Homework 1:

RAW MATERIAL: Interpreter code.

WHAT: Do exercises 4.6, 4.9 and 4.10 from the SICP book.

DELIVERABLE: a modified, but running, version of the metacircular interpreter.

Here are some notes that shape the answers:

- for 4.6, answer the question as is.


- for 4.9 you should implement the while construct only. It should look like this: (while while-predicate expr). As a header for your implementation, include a few commented lines commenting on the addition of this iteration construct in the language. Is it absolutely necessary? Or can you express the intent in another way without extending the interpreter? What are the advantages of including it in the language?
Include 2 valid programs that use your while construct.
 

- for 4.10, choose only 3 constructs that will get your new syntax. Include 5 valid programs written in your new syntax.

DUE DATE: 1/19 by midnight