23
Clojure é uma linguagem de programação dinâmica que tem como alvo a Java Virtual Machine (e o CLR).Ele foi projetado para ser uma linguagem de uso geral, combinando a acessibilidade e o desenvolvimento interativo de uma linguagem de script com uma infraestrutura eficiente e robusta para programação multithread.O Clojure é uma linguagem compilada - ele é compilado diretamente no bytecode da JVM, mas permanece completamente dinâmico.Todos os recursos suportados pelo Clojure são suportados no tempo de execução.O Clojure fornece acesso fácil às estruturas Java, com dicas de tipo e inferência de tipo opcionais, para garantir que as chamadas para Java possam evitar a reflexão .... O Clojure é um dialeto do Lisp e compartilha com o Lisp a filosofia do código como dados e umapoderoso sistema macro.O Clojure é predominantemente uma linguagem de programação funcional e apresenta um rico conjunto de estruturas de dados persistentes e imutáveis.Quando um estado mutável é necessário, o Clojure oferece um sistema de memória transacional por software e um sistema reativo Agent que garantem projetos limpos, corretos e com vários threads.