Annotated SICP
- Structure and Interpretation of Computer Programs
- Front Matter
- 1 Building Abstractions with Procedures
- 2 Building Abstractions with Data
- 3 Modularity, Objects, and State
- 4 Metalinguistic Abstraction
- 5 Computing with Register Machines
- References
- List of Exercises

Code samples online
I’ve ported some of the code from this chapter to what (to me) looks like a reasonable Clojure-representation.
Feel free to check it out: https://github.com/josteink/constraints