SICP Distilled: An idiosyncratic tour of SICP in Clojure

  • This was a Kickstarter a year ago (i baked too): https://www.kickstarter.com/projects/1751759988/sicp-distill...

    Unfortunately the author still not be able to fullfill the goals :/ So, bookmark this and visit it in a year or two again.

  • I feel very uneasy about this project.

    SICP is a classic text, and although it is old, it has not aged. I wonder if this is a sign of a stagnation in the field of computing, that as the machines we use become exponentially more powerful, we still know very little about how to use them. In any case, SICP is still an excellent introduction to computing and does not need to be updated just yet.

    The name "SICP Distilled" feels very misleading. The programming language has been changed, in what I assume was an attempt to be more trendy, and the content has been changed to the point that it only superficially resembles the original text. There is no better language to explain the concepts of SICP than Scheme, and it appears the author understands this, as he had to remove sections of the text to compensate for Clojure's unsuitability. It appears that he changed or removed a large portion of the text, in fact, and added in their place new ideas which are arguably unrelated to the spirit of the original book. Perhaps it is merely the name "SICP Distilled" that makes me apprehensive, and I would be happy if it was marketed as something completely unrelated, with only a nod to SICP as its inspiration. However, it feels wrong as it is.

    Peter Norvig wrote that SICP "is a very personal message that works only if the reader is at heart a computer scientist"[1] It is entirely possible that this project will bring some of the most important ideas of SICP to those who do not fit that description. But is that a goal we should be striving to achieve? This question makes me think back to a portion of the quote, on the very first page of SICP, by Alan Perlis: "Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands."[2]

    [1] http://www.amazon.com/review/R403HR4VL71K8/ [2] https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-3.html

  • I think this is awesome! One thing – would be really awesome if examples would be editable and you could evaluate them via ClojureScript somehow, that would make a huge advantage I think.

  • "To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century."

    On that note can anyone recommend SICP-equivalents for automotive, locomotive and aerospace engineering?

  • What is the sense in teaching SICP in a language that has no tail optimization? McEval would run straight into the wall.

  • Excercise 1.5 needs fix, def form is is invalid