Page Inspect
Internal Links
29
External Links
7
Images
3
Headings
24
Page Content
Title:Clojure
Description:
HTML Size:20 KB
Markdown Size:6 KB
Fetched At:July 29, 2025
Page Structure
h2The Clojure Programming Language
h3Learn More
h4Rationale
h4Getting Started
h4Reference
h4Guides
h4Community
h3Companies Succeeding with Clojure
h3Features
h4Dynamic Development
h4Functional Programming
h4LISP
h4Runtime Polymorphism
h4Concurrent Programming
h4Hosted on the JVM
h3News
h3Upcoming Events
h3Nubank
h6Community
h6Legal
h6Documentation
h6Updates
h6ETC
h6Code
Markdown Content
Clojure Clojure OverviewReferenceAPIReleasesGuidesCommunityDevNews clojure.org ask.clojure.org Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. Get Started! ## The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use. Rich Hickey author of Clojure ### Learn More #### Rationale A brief overview of Clojure and the features it includes #### Getting Started Resources for getting Clojure up and running #### Reference Grand tour of all that Clojure has to offer #### Guides Walkthroughs to help you learn along the way #### Community We have a vibrant, flourishing community. Join us! ### Companies Succeeding with Clojure > “Our Clojure system just handled its first Walmart black Friday and came out without a scratch.” Anthony Marcar, Senior Architect Walmart Labs > “Clojure is a functional programming language from top to bottom. This means that code written in Clojure is very modular, composable, reusable and easy to reason about.” Chris Price, Software Engineer Puppet Labs > “We discussed the existing Clojure community, the maturity of the language itself and the momentum we saw in the industry. Companies are seeing speed to market deliveries ... based on Clojure.” Dave Elliman, Head of Technology ThoughtWorks Read more about Clojure success stories, how the community uses Clojure, and find companies using Clojure. ### Features Clojure has a set of useful features that together form a simple, coherent, and powerful tool. #### Dynamic Development Clojure is a dynamic environment you can interact with. Almost all of the language constructs are reified, and thus can be examined and changed. You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream. #### Functional Programming Clojure provides the tools to avoid mutable state, provides functions as first-class objects, and emphasizes recursive iteration instead of side-effect based looping. Clojure is impure, yet stands behind the philosophy that programs that are more functional are more robust. #### LISP Clojure is a member of the Lisp family of languages. Many of the features of Lisp have made it into other languages, but Lisp's approach to code-as-data and its macro system still set it apart. Additionally, Clojure’s maps, sets, and vectors are as first class in Clojure as lists are in Lisp. #### Runtime Polymorphism Systems that utilize runtime polymorphism are easier to change and extend. Clojure offers simple, powerful and flexible mechanisms for runtime polymorphism. Clojure’s protocols and datatypes features add mechanisms for abstraction and data structure definition with no compromises vs the facilities of the host platform. #### Concurrent Programming Clojure simplifies multi-threaded programming in several ways. Because the core data structures are immutable, they can be shared readily between threads. Clojure, being a practical language, allows state to change but provides mechanism to ensure that, when it does so, it remains consistent, while alleviating developers from having to avoid conflicts manually using locks etc. #### Hosted on the JVM Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode. Clojure is a great Java library consumer, offering the dot-target-member notation for calls to Java. Clojure supports the dynamic implementation of Java interfaces and classes. ### News - 2025-07-28 Clojure Deref (July 28, 2025) - 2025-07-20 Clojure Deref (July 20, 2025) - 2025-07-14 Clojure Deref (July 14, 2025) - 2025-07-06 Clojure Deref (July 6, 2025) - 2025-06-27 Clojure Deref (June 27, 2025) ### Upcoming Events - 2025-11-12 Clojure/Conj 2025 ### Nubank Nubank is one of the world's largest digital banking platforms, serving over 100 million customers across Brazil, Mexico, and Colombia. From its start, Nu has had a spectacular success story with Clojure, running mission-critical software at scale. In 2020, the company acquired Cognitect, the consultancy behind Clojure and the Datomic database. Through the acquisition, Nubank incorporated a world-class team to assist developers in translating Clojure's ideas into business agility and leverage the company's mission to fight complexity and empower people. Currently, Nu is a key corporate sponsor of Clojure and ClojureScript. For more information about how Nubank builds products and teams, visit building.nubank.com.br. ###### Community Resources Contributing Companies Site###### Legal License Privacy Policy ###### Documentation Overview Reference API Guides Libraries & Tools ###### Updates News Events###### ETC ClojureTV Books Swag ###### Code Releases Source ClojureScript ClojureCLR Copyright 2008-2022 Rich Hickey | Privacy Policy Logo & site design by Tom Hickey Published 2025-07-29