Quite a few in the Philadelphia area expressed interest in having a study group around the excellent book Structure and Interpretation of Computer Programs, and so here it is!
http://www.meetup.com/Clojadelphia/events/155920672/But, SICP is in Scheme, right? What does that have to do with Clojure? In about five seconds, I found two great posts explaining the benefits of SICP for the Clojure programmer:
Why Clojure by Bob Martin, and
Advice to a Newbie on
learningclojure.com.
For a bit of marketing from me on why you should care about an old musty Scheme book: the book itself is is massive in scope, so it would be hard to list all the things it covers (hence the need for a study group). For example, there is a section in chapter 2 that has you write all the core functional abstractions: map, filter, reduce, etc entirely from just functions and lambdas. I thought I understood those abstractions, but it wasn't until I made them from scratch that they really clicked. Additionally, a later section shows how different data structures can be made to work with those abstractions, which is fundamental to how ISeq in Clojure works.
The book eventually goes on to have to write your own interpreter, and if the table of contents is accurate, your own compiler (I have only finished Chap 2 so far). It shows you how to add OO-like benefits to Scheme: polymorphism, data "type" checking, etc. with just built in language constructs.
SICP is not for the faint of heart, but it will turn you into a much better developer.
If you are up for the challenge, I would like to try to get through the whole book in one year, as suggested by the author of
learningclojure.com. There are 356 exercises, and each one is there to teach you something valuable that you will need to complete the next section.
If you are interested, please come sign up and RSVP.