Skip to content

rachbowyer/sicp-clojure

 
 

Repository files navigation

sicp-clojure

"Computer Science is not a science... It is also not really very much about computers"

Hal Abelson, 1986.

This repo mainly contains the code I wrote in 2014-2015. Often it just had Clojure code copied and pasted from the REPL. I was solving problems, not writing an application. Some of the code is very poor Clojure - which is to be expected as I was just starting to learn the language.

I have cleaned it up somewhat. The code for rendering the Henderson Picture Language has been split out into a standalone library.

A bigger challenge is whether to try to follow the style of the SICP code as closely as possible or make the code more idiomatically Clojure. Generally I have stuck to the approach in SICP as using some of the more advanced features of Clojure detracts from the exercises. For example, I have generally stuck to using linked lists rather than say using Clojure's persistent hashmap.

At one point I had hoped to read the whole of SICP and work every exercise! But time is finite and there are many other interesting topics in Maths, Computer Science and AI. Going forward, I am picking and choosing which topics I work.

For more about my relationship with SICP and Clojure, see my blog.