A programming language that targets the Java Virtual Machine and is known for its dynamic abilities.
Despite being a compiled language that compiles directly to JVM bytecode, Clojure remains completely dynamic, and every feature supported by it is supported at runtime. The language even provides easy access to the Java frameworks, with optional type hints and type inference to ensure that calls to Java can avoid reflection.
As a dialect of Lisp, Clojure shares with Lisp the code-as-data philosophy and a powerful macro system. Additionally, it is predominantly a functional programming language, with a rich set of persistent, immutable data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system to ensure clean, correct, multithreaded designs.
It's worth noting that Clojure is developed, provided, and licensed under the terms of the Eclipse Public License 1.0. If you want a versatile programming language that combines the best features of scripting languages with efficient and robust multithreaded programming, you can't go wrong with Clojure.
Version 1.0.0: N/A