935 karma · joined May 14, 2010
IMHO, Zed Shaw's "Learn Python The Hard Way" (free book) is also really good at teaching both Python and programming:
I also like the lengthier, but most excellent, tutorial by Mark Volkmann: http://java.ociweb.com/mark/clojure/article.html
Project Euler worked well for me as warm-up exercises. And I just found a Wiki of Project Euler solutions in Clojure: http://clojure-euler.wikispaces.com/
http://news.ycombinator.com/item?id=1772650 http://news.ycombinator.com/item?id=2218455
Sorry, I realize this is not a feature request, per se, but I didn't know where/how to submit bug reports.
http://news.ycombinator.com/item?id=1772650
Something seems off with the duplicate link checker. Several times in the past week, I've submitted links only to find out later on that they were already previously submitted.
(filter even? [1 2 3 4])
Can't wait to see what you come up with. Best of luck!
Have you considered refreshing this 'map' periodically and/or adding this to either the Clojure website or wiki? I think that'd be a nice way to help people stay abreast of useful up-and-comers.
The vast majority of Clojure projects all seem to live on github. So, perhaps one way of picking out important projects with one/few contributors could be by looking at projects with high numbers of forks or watchers?
http://sites.google.com/site/steveyegge2/ten-challenges
TaPL and PFDS are both on the list. Given what you wrote, I thought perhaps you'd be interested in some of the other entries, such as "Programming Language Pragmatics" or "The Essentials of Programming Languages".
2. While learning Clojure, I tried my hand at implementing the Lisp interpreter described in PG's "The Roots of Lisp" paper. There were many "aha!" moments along the way, but the biggest one came when I understood how I could define the "eval" function inside my interpreter, which allowed me to run a Lisp interpreter inside my Lisp interpreter (which was running in Clojure, which was running on the JVM, etc.).
http://artofmanliness.com/2009/11/17/how-to-run-a-meeting/
(Not a joke, despite the whimsical domain name)
How do you handle special forms? I wrote a toy Lisp interpreter in Clojure, but couldn't figure out how to implement ', which I assumed should be implemented as a special form.