Don't miss an insight. Subscribe to Techopedia for free.

Subscribe
Advertisements

Clojure

What Does Clojure Mean?

Clojure is a dynamic programming language that is a dialect, or variant, of the Lisp programming language. It is designed to be general-purpose and combines the interactive development and approachability of a scripting language with a robust and efficient infrastructure used for multithreaded programming.

Advertisements

It is also a compiled language that compiles directly into JVM bytecode while remaining completely dynamic.

Techopedia Explains Clojure

Clojure was developed by Rich Hickey as a dialect of Lisp that directly targets the Java Virtual Machine (JVM). Because of this, it shares the code-as-data philosophy and the powerful macro system of Lisp. It is predominantly considered a functional programming language that features a set of immutable and persistent data structures.

Clojure also has a software transactional memory system when a mutable state is required, and a reactive agent system, which ensures that multithreaded designs are correct and clean.

The features of Clojure include:

  • Tight Java integration where applications are easily packaged and deployed to JVMs and other application servers
  • Functions are considered first-class objects
  • Dynamic development with a read-eval-print loop
  • Emphasis is given to recursion and other higher-order functions as opposed to side-effect-based looping
  • Provides immutable and persistent data structures such as hashmaps, lists and sets
  • The agent system, dynamic var system and software transactional memory allows concurrent programming
  • Multimethods allow dynamic dispatch on the values or types of any arguments
Advertisements

Related Terms