Live data from Hacker News

SICP in Clojure

sicpinclojure.com

41–50 of 62 posts

Re: SICP in Clojure

#41
I'm trying to get my faculty to switch to SICP as the intro to programming course, instead of a planned migration to Python (I'm at the EE department, which is completely separate from CS). Can anyone think of good arguments in favor, which may convince the professors?

So far, my main "ammunition" is Dijkstra's argument that "it provides an environment that discourages operational reasoning":

http://chrisdone.com/posts/dijkstra-haskell-java

Re: SICP in Clojure

#42
post #21
post #19

Earlier quoted context omitted.

Also when will people understand that SICP is not about teaching programming language? There is no fucking point in rewriting it in your favourite language, it is 99.9% your language less suitable for it (99% it already has mutable state, assignment, loops, (pseudo-)OOP and 5 layers of historic brain damage) Don't know scheme? But it's even better that way! Many things will faster click in your head. Like oh wtf we'r…

Scheme and/or Common LISP seem to be the common recommendation to embark on SICP journey, just for reference.

Look at Racket (was Dr Scheme) and use the dialect R5RS

http://stackoverflow.com/questions/939582/which-language-in-...

Re: SICP in Clojure

#43
post #41

I'm trying to get my faculty to switch to SICP as the intro to programming course, instead of a planned migration to Python (I'm at the EE department, which is completely separate from CS). Can anyone think of good arguments in favor, which may convince the professors? So far, my main "ammunition" is Dijkstra's argument that "it provides an environment that discourages operational reasoning": http://chrisdone.com/pos…

You can try to contact the heads of the SOFT group at the Free University of Brussels, they might give you a heap of good arguments and or documents. Thanks to them (and some others), our university still uses SICP as the main course in the first year of the CS education.

http://soft.vub.ac.be/

Re: SICP in Clojure

#44

Earlier quoted context omitted.

You are engaging in the ad populum fallacy fallacy. That is, you wrongly believe that the popularity of a language isn't, in itself, evidence of its usefulness. A lot of people making decisions on which language to use are very qualified and knowledgeable. When they choose clojure over scheme, they do it for good reasons.

If I am engaging in anything here, it is not this. You should take a look at my blog at least.) Clojure is gaining popularity (along with Scala) because it makes living in the Java Ecosystem a bit less painful and disgusting. It has nothing to do with the "decline" (non-popularity) of Common Lisps and Schemes in so-called industry, but more with mediocrity of those for whom this very ecosystem was created and markete…

You just assume that it was much better then anything else and people where to stupid and the marketing of the others to good and thats why CL and Scheme see no industry adoption.

This might be true and it might not be true but its sure arrogance to pretend to know that it is true. Your(and other Lispers) arrogance might be a big reason why Scheme and CL never got adopted.

Re: SICP in Clojure

#45
post #21
post #19

Earlier quoted context omitted.

Also when will people understand that SICP is not about teaching programming language? There is no fucking point in rewriting it in your favourite language, it is 99.9% your language less suitable for it (99% it already has mutable state, assignment, loops, (pseudo-)OOP and 5 layers of historic brain damage) Don't know scheme? But it's even better that way! Many things will faster click in your head. Like oh wtf we'r…

Scheme and/or Common LISP seem to be the common recommendation to embark on SICP journey, just for reference.

An alternative to Racket would be Chicken Scheme. But again, anything that has R5RS included will do fine.

I would not go with R7RS, but this is just a personal preference. Seems bloated to me.

Re: SICP in Clojure

#46
post #19

Could we stop posting this please? It is a fantastic idea, but is incomplete and not worked on much at all. http://news.ycombinator.com/item?id=7078660 http://news.ycombinator.com/item?id=900865 http://news.ycombinator.com/item?id=1425203 http://news.ycombinator.com/item?id=6843719 http://news.ycombinator.com/item?id=2701414 http://news.ycombinator.com/item?id=4112852

Also when will people understand that SICP is not about teaching programming language? There is no fucking point in rewriting it in your favourite language, it is 99.9% your language less suitable for it (99% it already has mutable state, assignment, loops, (pseudo-)OOP and 5 layers of historic brain damage) Don't know scheme? But it's even better that way! Many things will faster click in your head. Like oh wtf we'r…

Sure, but this is in Clojure. Surely that's not /that/ far away from Scheme: they're Lisp-1's with pervasive immutability. There's not such an emphasis on explicit recursion, but the loop/recur pattern is still pretty close :) (But yes, you would have to of course translate it from Scheme to Clojure, which means not doing the explicit recursion.)

Re: SICP in Clojure

#47
post #44

Earlier quoted context omitted.

If I am engaging in anything here, it is not this. You should take a look at my blog at least.) Clojure is gaining popularity (along with Scala) because it makes living in the Java Ecosystem a bit less painful and disgusting. It has nothing to do with the "decline" (non-popularity) of Common Lisps and Schemes in so-called industry, but more with mediocrity of those for whom this very ecosystem was created and markete…

You just assume that it was much better then anything else and people where to stupid and the marketing of the others to good and thats why CL and Scheme see no industry adoption. This might be true and it might not be true but its sure arrogance to pretend to know that it is true. Your(and other Lispers) arrogance might be a big reason why Scheme and CL never got adopted.

It is pure ignorance on your side to say Scheme or CL never got adopted.

Re: SICP in Clojure

#48

Could we stop posting this please? It is a fantastic idea, but is incomplete and not worked on much at all. http://news.ycombinator.com/item?id=7078660 http://news.ycombinator.com/item?id=900865 http://news.ycombinator.com/item?id=1425203 http://news.ycombinator.com/item?id=6843719 http://news.ycombinator.com/item?id=2701414 http://news.ycombinator.com/item?id=4112852

The Heart wants what The Heart wants

Re: SICP in Clojure

#49
post #31

but would the metacircular evaluator fit on a chalkboard? http://ocw.mit.edu/courses/electrical-engineering-and-comput...

I was interested in the same question (how big is a simple Scheme in Clojure?), and ended up working on one for the heck of it. It's a little under 500 lines of Clojure, and it has a very small number of primitives at this point.

I tell myself some day I'll go back and build a read layer so I can have macros.

https://github.com/CJOlsen/fez/blob/master/src/fez/core.clj

Re: SICP in Clojure

#50
post #41

I'm trying to get my faculty to switch to SICP as the intro to programming course, instead of a planned migration to Python (I'm at the EE department, which is completely separate from CS). Can anyone think of good arguments in favor, which may convince the professors? So far, my main "ammunition" is Dijkstra's argument that "it provides an environment that discourages operational reasoning": http://chrisdone.com/pos…

You might want to read this paper by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi who provide interesting points about SICP as well as HTDP as an introductory course in programming: http://www.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf
Post reply on HN