The Beta 3 release of Programming Clojure is available today, and includes the following additions and enhancements:
- A new chapter on Multimethods.
- Reorganized how code samples are formatted throughout the book. Make sure to read the new "Notation Conventions" section of the Preface.
- Numerous errata fixes.
If you have purchased the Beta book, bounce over to the Pragmatic Bookshelf website and get the latest version.
Steve Yegge's most recent post takes a right angle turn about a third of the way through, and begins a comparison of Emacs Lisp and JavaScript.
And the winner is ... Clojure!
OK, Steve didn't say that. What he did do was call out things he liked about JavaScript and Emacs Lisp.
For JavaScript:
- momentum
- (namespace) encapsulation
- delegation (polymorphism?)
- properties (by Steve's definition)
- serialize to source
For Emacs Lisp:
I first picked up Clojure looking for many of the same things that Steve wants. I found them. Clojure can do all the things on both lists above. (Serialize to source isn't formal yet, but check the mailing list. And of course, you will have to judge "momentum" for yourself.)
The scary thing is that Clojure wins the language war before you even learn about its signature features. When I started exploring Clojure, I quickly realized it had everything I wanted, which could be summarized as "Lisp that really embraces the Java platform."
Then Clojure changed the definition of what I wanted. Now I also want
If you have half an hour, watch a compelling vision of what software development will look like in 2010.
I will be bringing RunCodeRun Beta invites to the Professional Ruby Conference in Boston next week. If you are attending the conference, and want to get your open source Ruby project configured for free Continuous Integration on RunCodeRun, come and see me.
If your build goes green, I will have a T-shirt for you (while supplies last).
Once you go green, you don't go back.
If you downloaded Vasco and ran into the bug where it couldn’t find “data.js”, that bug has been fixed. You should update from the git repo and try again. Thanks for the bug report in the comments, Andreas!
The Clojure Beta book is now available. Here's the Table of Contents. (Chapters with an asterisk are included in this beta.)
- Preface*
- Getting Started*
- Exploring Clojure*
- Working with Java*
- Unifying Data with Sequences*
- Functional Programming
- Concurrency*
- Macros
- Multimethods
- Third-Party Libraries
- Case Study
Because this is a Beta book, and Clojure is continuing to evolve, there will be errata. Please let me know any problems you find, and I will address them in the next Beta.
Other Clojure resources
I’ve added support for nested routes in Vasco. Whenever you have a standard nested resource scenario, Vasco will now prompt you for the appropriate parent(s) id(s) before your request.
Here is the list of nested routes from our sample app:

And here is the dialog prompting for both the direct ID and the parent resource ID:

This is brand new—if there are any bugs, please report them. Thanks!