Definition - 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.

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
Share this:

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.