Skip to content

andrewjradcliffe/SICP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chapters from SICP (Structure and Interpretation of Computer Programs)

My solutions to exercises, organized by chapter and section. In addition to the exercises, Chapter 4 and Chapter 5 contain implementations of the base-case evaluator, register machine simulator and compiler. To each of these base-case versions presented in the text, numerous additions are made -- in many cases, the direct result of exercises in the text -- yielding working versions of all the evaluators, simulators and compilers implied by the exercises in the text. In some cases, my own additions extend the evaluators and compilers beyond this; largely, these extensions are just me playing with syntax, or creating more robust versions of the basic (and extended) versions implied by the text of SICP.

In a few places in Chapter 5, I have, regretfully, consciously opted to not complete a few exercises -- Ex. 5.50, 5.51, 5.52. At the time of writing, these are simply outside the time I have available to devote to Lisp and its implementation. Or, to be specific: I wish to spend time on other topics. If neglecting to write my own Lisp implementation in C makes me a lesser being, so be it.

A note on the history of this repository. One may wonder: what happened to Chapter 1, and parts of Chapter 2 and 3? At the time of writing, these chapters and sections live on paper -- as is my habit, I prefer to work exercises with pencil and paper, then move to the machine to test whatever I cannot guarantee to be true by logic alone. It just happens to be the case that Chapters 4 and 5 require most verification to be done by machine, thus, I typed them in full. Some day (soon) I will get around to typing the rest.

As for the reader that wonders (perhaps rightfully so), why bother!? This I can answer only by stating that the reasons are obvious to a person that has consumed SICP in its entirety. That said, the author would like to point out this simple fact: this repository is not particularly useful, as each person would need to make everything here their own in order to derive benefit from it. In essence, this repository simply stands as a testament to the fact that I have consumed this sumptuous mental buffet. Cheers to the other attendees of the feast.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages