I remember a few years ago looking at Clojure news. It was often just about wrappers for existing Java libraries. It was an important step in the growth of Clojure, but nothing to get excited about.
Now when I look out across the Clojure landscape, I see new libraries emerging that would have been incredibly difficult to do in Java. I see Clojure libraries built on top of other Clojure libraries. And I see rich ecosystems where libraries can meet and interact, like Ring.
All of this is very exciting.
PS Let me know your thoughts or if you have a link you would like to share. All you have to do is hit reply and it will go to my personal email.
Quil is a Clojure wrapper library around Processing. I have tried out some of the examples and it looks like the easiest way yet to start drawing in Clojure. Obviously inspired by _why, the library seeks to meld the awesomeness and simplicity of Processing with the abstracting power of Clojure. A fine weapon, indeed.
An interesting and historical read. So much of the Lisp world we take for granted was forged well before many of us were born. As I flip through the pages, I see the birth of many high-level programming concepts that we normally take for granted today.
Just as on the JVM, Clojure managed to gain a huge advantage by making interop with existing Java libraries easy, it seems to be panning out for Clojurescript as well. Namely, Clojurescript can borrow from the expansive Google Closure library, whose depths have yet to be plumbed. Browserchannel is one example of a nugget of gold from Google. GMail Chat uses it for bidirectional communication between browser and server. And it works in nearly every browser. Someone has managed to get a browser/server example working in Clojure and Clojurescript.
Ring is beyond awesome. It is as simple as possible, but no simpler. This library promises to rock the Ring by creating an OAuth middleware, which would make it devastatingly easy to get OAuth working. OAuth is a secure way to grant access to a user account without giving the username and password. I have not used clj-oauth yet but it looks promising.
Clojure lets me abstract and modularize (decomplect!) so well that I often find myself spinning off smaller projects from my larger ones. This tip helped me this week to do just that without losing my mind. I thought I would mention it.