Workshop: Clojure


Details
Clojure (http://clojure.org/) is a “modern Lisp (http://en.wikipedia.org/wiki/Lisp_(programming_language))” that favors simplicity in its every construct, including the built-in concurrency primitives (http://clojure.org/concurrent_programming). It's also chauvinistically functional, even in the way it embraces Java (http://clojure.org/java_interop). If you didn't grok FP in Haskell (http://www.haskell.org/), Clojure is your second chance. It will force you into functional thinking like the forgiving nature of Scala (http://www.scala-lang.org/) never will.
To get a feel of how opinionated Clojure is, just watch some of the famous talks by its creator and BDFL Rich Hickey:
Simple Made Easy (http://www.infoq.com/presentations/Simple-Made-Easy) The Value of Values (http://www.infoq.com/presentations/Value-Values) Although it's uncustomary for a Lisp, Clojure is a mature technology, as evidenced by the ThoughtWorks Technology Radar (http://www.thoughtworks.com/insights) with Clojure in the adoption ring. Amongst other things, it features a solid build system (http://leiningen.org/) and an enterprise-ready application server (http://immutant.org/).
In this guided workshop we are going to get acquainted with the language and its tools, all the while overcoming our fears of excessive amounts of parentheses (relevant xkcd (http://xkcd.com/297/)). The goal is to build a real-world web service, albeit a simple one because of our time constraints.
You should bring your own laptop, but you don't need to pre-install anything.
If you would like to dive into Clojure before the meetup:
The Joy of Clojure (http://www.joyofclojure.com/) is the book on Clojure, discussing everything from language philosophy to technical details. Alternatively, Clojure - Functional Programming for the JVM (http://java.ociweb.com/mark/clojure/article.html) is a quick and dirty overview of all the features.

Workshop: Clojure