# Exercise 1.

Abelson & Sussman, exercises 4.27 and 4.29.

A version of the lazy evaluator is in `~cs61as/lib/lazy.scm`

Abelson & Sussman, exercises 4.27 and 4.29.

The homework has been separated into crucial questions and less crucial questions, but you have to do all of them - this separation is just so that you know which ones to attempt first.

Abelson & Sussman, exercises 4.25, 4.26 and 4.28.

Abelson & Sussman, exercises 4.30, 4.32 and 4.33.

Do the following reading:

- SICP 4.4: Logic Programming
- Lecture Notes: Lecture Note 15 (starting from pg. 368)

Abelson & Sussman, exercise 4.31. This exercise doesn't require great brilliance, but it's a lot of work and involves a lot of debugging of details. On the other hand, completing this exercise will teach you a lot about the evaluator.

Fix the `handle-infix` procedure from project 4 to handle
infix precedence for arithmetic operators properly. That is,
multiplications and divisions should be done before additions and
subtractions. Comparison operators like `=` come last of
all.