23
Clojure es un lenguaje de programación dinámico que se dirige a la máquina virtual Java (y al CLR).Está diseñado para ser un lenguaje de propósito general, que combina la accesibilidad y el desarrollo interactivo de un lenguaje de secuencias de comandos con una infraestructura eficiente y robusta para la programación multiproceso.Clojure es un lenguaje compilado: se compila directamente en el código de bytes JVM, pero permanece completamente dinámico.Todas las funciones compatibles con Clojure son compatibles en tiempo de ejecución.Clojure proporciona un fácil acceso a los marcos de Java, con sugerencias de tipos opcionales e inferencia de tipos, para garantizar que las llamadas a Java puedan evitar la reflexión ... Clojure es un dialecto de Lisp, y comparte con Lisp la filosofía del código como datos y unPotente sistema macro.Clojure es predominantemente un lenguaje de programación funcional y presenta un rico conjunto de estructuras de datos inmutables y persistentes.Cuando se necesita un estado mutable, Clojure ofrece un sistema de memoria transaccional de software y un sistema de agente reactivo que garantiza diseños limpios, correctos y multiproceso.