I’ve been experimenting with tagged literals and data-readers to create what I’m calling a “conditional feature reader”. The basic element is the
condf tag, which works sort of like
cond but the tests are “feature requirements”. A feature requirement can be something like
clj1.5 (meaning Clojure 1.5) or
java1.6+ (meaning JDK 1.6 or greater). For example:
(println #feature/condf [(and jdk1.6+ clj1.5.*) "Ready for reducers" else "No reducers for you."])
I’ve only implemented it for regular Clojure 1.4 and 1.5 (on the JVM), but I’m hoping it might prove useful for other variants such as ClojureScript.
For more details, see:
Anthony Grimes (Raynes) reports on the deprecation of Noir for Clojure web apps:
Chris and I discussed this last night, and we decided that it???s time to deprecate Noir and ask that people focus on Compojure instead. The good news is that you don???t have to give much of anything up if you move to Compojure! A while back when I started moving my own sites to Compojure, I took most of the useful libraries that were embedded in Noir and I split them out into a new library that you can use from Compojure! lib-noir is the legacy of Noir. The best thing that came out of it. It has all the useful stateful sessions, flashes, cookies, as well as the other useful libraries. In fact, the latest release of Noir depends on this library so if you???re using it, you???re already secretly using lib-noir!
For new websites, please use Compojure and lib-noir. This is pretty much just as batteries included as Noir itself ever was! You just have to learn how to write routes with Compojure. It???s easy and just as concise as it was in Noir. You don???t have to use ring-jetty-adapter and stuff, just use the lein-ring plugin to start your server.
ClojureScript on Node.js is a (potentially) compelling story for writing scripting apps with Clojure.
A clever use of data literal tags for debugging:
SpyscopeA Clojure library designed to make it easy to debug single- and multi-threaded applications.
UsageAdd [spyscope “0.1.0”] to your project.clj’s :dependencies.
Rich Hickey introduces Datomic, including architectural and implementation details.
Rich Hickey explains how to bake an Apple pie…
> Rich Hickey discuses Reducers, a library for dealing with collections that are faster than Clojure???s standard lazy ones and providing support for parallelism.
Rich Hickey, author of Clojure, and designer of Datomic presents a new way to look at database architectures in this talk from JaxConf 2012.