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

Clojure equivalent for cons/car/cdr here
(cons 1 2)doesn’t work in Clojure; you get:Don't know how to create ISeq from: java.lang.Integer[Thrown class java.lang.IllegalArgumentException]
In Scheme, “a chain of pairs not ending in the empty list is called an improper list. Note that an improper list is not a list. ”
(cons 'a 3) => (a . 3)To do the exercises in Clojure, one can use
(def x (list 1 2))(first x)
(last x)