domingo, 25 de agosto de 2013

Clojure el lenguaje funcional para plataforma Java

Clojure nos da una manera rápida y fácil para acceder a la plataforma Java. Se puede llamar a cualquier API directamente con:

(System/getProperties)
-> {java.runtime.name=Java(TM) SE Runtime Enviroment
… etc...

Clojure agrega una cantidad de formas sintácticas de llamar métodos Java. Veamos un ejemplo:

// Java
“hello”.getClass().getProtectionDomain()

;Clojure
(.. “hello” getClass getProtectionDomain)

Clojure provee una forma simple para implementar Java interfaces y subclases de Java. También todas las funciones de clojure implementan Callable y Runnable. Esto se podría utilizar para llamar las funciones desde thread.

(.start (new Thread (fn [] (println “Hello” (Thread/currentThread)))))
->Hello #<Thread Thread[Thread-0,5,main]>

Como podemos ver Clojure es claro y simple y se puede llamar a clases java directamente.