Clojure is a dialect of Lisp that runs on the Java Virtual Machine. It is a general purpose language sporting interactive development, and it encourages a functional programming style that enables simplified multithreaded programming. Clojure honors the code-as-data philosophy and has a sophisticated Lisp macro system with features such as automatic gensyms.