I can't imagine a Clojure SICP really working. The whole idea of SICP is to take a super-simple language and learn to build your own data-structure, psuedo-languages, and clarify how expressions, structures, etc. we use everyday are used, created, and implemented.
I really wish people wouldn't look at Clojure and think that it is the same as Scheme, especially the flavor presented in SICP, because it isn't. They're two entirely different languages and conflating the two as the same because OMG Parenthesis is like saying Python and Ruby are the same because they are categorized as scripting languages.
Clojure and Scheme attempt to solve very different issues. Scheme does a wonderful job in the sphere allocated in SICP. SICP could theoretically be taught with Clojure, but one must wonder why it hasn't been fully attempted yet. I think that once you try out Clojure, you would see the glove doesn't fit very well, so to speak. The main issue is that SICP is extremely fast and ideally, you'd want a language that takes a day to sort of learn and understand. Clojure certainly does not have this advantage. Clojure has many built-in structures. If you did do SICP in Clojure, you'd effectively be using a Scheme without cons, car, and cdr and using a Clojure without map, filter, etc etc etc. What's the point of that?
Yeah, I do agree that the simplicity of scheme helps. It really is a good teaching language. That said, courses are starting to adapt SICP to different languages (MIT and UCB use python, while my own university, NUS, uses javascript: http://www.comp.nus.edu.sg/~cs1101s/ - there's an interactive SICP in javascript there, too)
I think a clojure interactive textbook of this sort would have to be targeted at the kind of programmer wishing to learn clojure - ie it would assume some prerequisites and discuss features specific to clojure. It seems to me to be a shame to strip clojure down to a very small scheme-like language and then teach that.
Oh. Well both biwascheme and codemirror use javascript, and the amount of glue code I have to write isn't that much, so I'm not sure the benefits of clojurescript would outweigh that of being able to talk to these libraries directly.
I really wish people wouldn't look at Clojure and think that it is the same as Scheme, especially the flavor presented in SICP, because it isn't. They're two entirely different languages and conflating the two as the same because OMG Parenthesis is like saying Python and Ruby are the same because they are categorized as scripting languages.
Clojure and Scheme attempt to solve very different issues. Scheme does a wonderful job in the sphere allocated in SICP. SICP could theoretically be taught with Clojure, but one must wonder why it hasn't been fully attempted yet. I think that once you try out Clojure, you would see the glove doesn't fit very well, so to speak. The main issue is that SICP is extremely fast and ideally, you'd want a language that takes a day to sort of learn and understand. Clojure certainly does not have this advantage. Clojure has many built-in structures. If you did do SICP in Clojure, you'd effectively be using a Scheme without cons, car, and cdr and using a Clojure without map, filter, etc etc etc. What's the point of that?