Su sitio oficial es http://clojure.org/
Este lenguaje para la JVM es uno de los más dispares al lenguaje Java. Esto último implica que verdaderamente hace ver nuestro lenguaje predilecto Java (o bien C#, Python, Ruby, etc) bajo una perspectiva totalmente diferente y provoca ese re-pensar tan interesante.
Una de las promesas y aspectos escencial de este lenguaje es su elegancia. Esta elegancia radica en la brevedad de los programas que se producen una vez que se aprende lo básico e idíomatico del lenguaje. Programas cortos son baratos en su construcción, baratos al ser deployados, y baratos en mantenimiento. Todo esto último es verdad cuando los programas son concisos.
Ejemplo:
public class StringUtils {
public static boolean isBlank(String str) {
int strLen; if (str == null || (strLen = str.length()) == 0) { return true; }
for (int i = 0; i < strLen; i++) { if ((Character.isWhitespace(str.charAt(i)) == false)) { return false; } }
return true;
}
}
en Clojure:
(defn blank? [str] (every? #(Character/isWhitespace %) str))