Clojure is a new Lisp that runs on the JVM and CLR, and provides interesting new ways to write highly concurrent programs. Rather than make use of complicated locking primitives, Clojure provides a set of powerful, immutable-by-default data types and adds language-level support for mutating them in controlled ways. We'll examine just enough Clojure syntax to allow us to delve into this approach to managing concurrency-based complexity. No previous exposure to Clojure is assumed or required.
Specializing in large-scale web
system implementation, Craig spent his early career working with COM
and C++, but since 2001 has been teaching and consulting full-time on
the .NET platform in C#. Craig has written for MSDN magazine and
spoken at conferences both nationally and internationally.