Hickey spent about two and a half years working on Clojure before releasing it publicly in October 2007, much of that time working exclusively on Clojure with no outside funding. At the end of this time, Hickey sent an email announcing the language to some friends in the Common Lisp community.
Clojure 1.7 introduced reader conditionals by allowing the embedding of Clojure, ClojureScript and ClojureCLR code in the same namespace. Transducers were added as a method for composing transformations. Transducers enable higher-order functions such as map and fold to generalize over any source of input data. While traditionally these functions operate on sequences, transducers allow them to work on channels and let the user define their own models for transduction.
Extensible Data Notation, or edn, is a subset of the Clojure language intended as a data transfer format. It can be used to serialize and deserialize Clojure data structures, and Clojure itself uses a superset of edn to represent programs.
This definition of extension elements in terms of the others avoids relying on either convention or context to convey elements not included in the base set.
Tooling for Clojure development has seen significant improvement over the years. The following is a list of some popular IDEs and text editors with plug-ins that add support for programming in Clojure:
The development process is restricted to the Clojure core team, though issues are publicly visible at the Clojure JIRA project page. Anyone can ask questions or submit issues and ideas at ask.clojure.org. If it's determined that a new issue warrants a JIRA ticket, a core team member will triage it and add it. JIRA issues are processed by a team of screeners and finally approved by Rich Hickey.
With continued interest in functional programming, Clojure's adoption by software developers using the Java platform has continued to increase. The language has also been recommended by software developers such as Brian Goetz, Eric Evans, James Gosling, Paul Graham, and Robert C. Martin. ThoughtWorks, while assessing functional programming languages for their Technology Radar, described Clojure as "a simple, elegant implementation of Lisp on the JVM" in 2010 and promoted its status to "ADOPT" in 2012.
In the "JVM Ecosystem Report 2018" (which was claimed to be "the largest survey ever of Java developers"), that was prepared in collaboration by Snyk and Java Magazine, ranked Clojure as the 2nd most used programming language on the JVM for "main applications". Clojure is used in industry by firms such as Apple, Atlassian, Funding Circle, Netflix, Nubank, Puppet, and Walmart as well as government agencies such as NASA. It has also been used for creative computing, including visual art, music, games, and poetry.
Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26. https://web.archive.org/web/20190826190240/https://www.computerworld.com.au/article/313989/a-z_programming_languages_clojure/
Hickey, Rich (2009-01-05). "meaning and pronunciation of Clojure". Google.com. https://groups.google.com/d/msg/clojure/4uDxeOS8pwY/UHiYp7p1a3YJ
Krill, Paul (2012-03-22). "Clojure inventor Hickey now aims for Android". InfoWorld.com. https://www.infoworld.com/article/2619641/clojure-inventor-hickey-now-aims-for-android.html
"Clojure". Clojure.org. Retrieved 2019-07-07. https://clojure.org/
"The Reader". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/reader
Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26. https://web.archive.org/web/20190826190240/https://www.computerworld.com.au/article/313989/a-z_programming_languages_clojure/
"The Reader". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/reader
"Differences with other Lisps". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/lisps
"Differences with other Lisps". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/lisps
"Values and Change: Clojure's approach to Identity and State". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/state
Hickey, Rich. "Rationale". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/rationale
Torre, Charles (2009-10-06). "Expert to Expert: Rich Hickey and Brian Beckman – Inside Clojure". MSDN.com. https://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/
Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26. https://web.archive.org/web/20190826190240/https://www.computerworld.com.au/article/313989/a-z_programming_languages_clojure/
"clojure/spec.alpha". GitHub. 2017-04-26. https://github.com/clojure/spec.alpha
Krill, Paul (2012-03-22). "Clojure inventor Hickey now aims for Android". InfoWorld.com. https://www.infoworld.com/article/2619641/clojure-inventor-hickey-now-aims-for-android.html
Hickey, Rich (2002-10-16). "[ANN] dotLisp: A Lisp dialect for .Net". Google.com. https://groups.google.com/forum/#!topic/comp.lang.scheme/ibf6CC6V66o
Hickey, Rich (2013-04-15). "jfli". SourceForge.net. https://sourceforge.net/projects/jfli/
Hickey, Rich (2013-04-03). "foil: Foreign Object Interface for Lisp". SourceForge.net. https://sourceforge.net/projects/foil/
Hickey, Rich (2013-03-07). "Lisplets". SourceForge.net. https://sourceforge.net/projects/lisplets/
Hickey, Rich (2020-06-12). "A history of Clojure". Proceedings of the ACM on Programming Languages. 4 (HOPL): 1–46. doi:10.1145/3386321. S2CID 219603760. https://doi.org/10.1145%2F3386321
Hickey, Rich (2009-01-05). "meaning and pronunciation of Clojure". Google.com. https://groups.google.com/d/msg/clojure/4uDxeOS8pwY/UHiYp7p1a3YJ
Hickey, Rich. "Rationale". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/rationale
Torre, Charles (2009-10-06). "Expert to Expert: Rich Hickey and Brian Beckman – Inside Clojure". MSDN.com. https://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Rich-Hickey-and-Brian-Beckman-Inside-Clojure/
Elmendorf, Dirk (2010-04-01). "Economy Size Geek – Interview with Rich Hickey, Creator of Clojure". LinuxJournal.com. https://www.linuxjournal.com/article/10708
Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26. https://web.archive.org/web/20190826190240/https://www.computerworld.com.au/article/313989/a-z_programming_languages_clojure/
"Simple Made Easy". InfoQ. Retrieved 2024-05-02. https://www.infoq.com/presentations/Simple-Made-Easy/
"(iterate think thoughts): Advantages of Data Oriented Programming". yogthos.net. Retrieved 2024-05-02. https://yogthos.net/posts/2020-04-08-advantages-of-data-oriented-programming.html
"talk-transcripts/Hickey_Rich/EffectivePrograms.md at master · matthiasn/talk-transcripts". GitHub. Retrieved 2024-05-02. https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/EffectivePrograms.md
"Values and Change: Clojure's approach to Identity and State". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/state
"Values and Change: Clojure's approach to Identity and State". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/state
"Hosted on the JVM". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/jvm_hosted
Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26. https://web.archive.org/web/20190826190240/https://www.computerworld.com.au/article/313989/a-z_programming_languages_clojure/
"Java Interop". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/java_interop#_calling_clojure_from_java
Miller, Alex. "Deps and CLI Guide". Clojure.org. Retrieved 2019-07-08. https://clojure.org/guides/deps_and_cli
"Macros". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/macros
Hickey, Rich. "edn". GitHub. Retrieved 2019-07-07. https://github.com/edn-format/edn
"Multimethods and Hierarchies". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/multimethods
"Protocols". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/protocols
"Datatypes: deftype, defrecord and reify". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/datatypes
Goetz, Brian (2014-11-20). "Stewardship: the Sobering Parts". YouTube.com. https://www.youtube.com/watch?v=2y5Pv4yN0b0&t=1h02m18s
Rose, John (2007-07-12). "tail calls in the VM". Oracle.com. https://blogs.oracle.com/jrose/tail-calls-in-the-vm
Rose, John (2009-02-11). "Some languages need to be able to perform tail calls". Java.net. https://bugs.openjdk.java.net/browse/JDK-6804517
"Special Forms". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/special_forms#recur
"Refs and Transactions". Clojure.org. Retrieved 2019-07-07. https://clojure.org/refs
"Agents and Asynchronous Actions". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/agents
Hickey, Rich (2013-06-28). "Clojure core.async Channels". Clojure.org. https://clojure.org/news/2013/06/28/clojure-clore-async-channels
Miller, Alex (2015-06-30). "Clojure 1.7 is now available". Clojure.org. https://clojure.org/news/2015/06/30/clojure-17
"The Reader". Clojure.org. Retrieved 2019-07-07. https://clojure.org/reference/reader
Hickey, Rich (2014-09-17). "Transducers". YouTube.com. https://www.youtube.com/watch?v=6mTbuzafcII
Hickey, Rich (2014-08-06). "Transducers are Coming". Cognitect.com. https://blog.cognitect.com/blog/2014/8/6/transducers-are-coming
Hickey, Rich (2014-11-20). "Inside Transducers". YouTube.com. https://www.youtube.com/watch?v=4KqUvG8HPYo
"Official EDN Spec". edn-format.org. 2022-04-27. http://edn-format.org
"Clojure". Clojure.org. Retrieved 2019-07-07. https://clojure.org/
"Hosted on the JVM". Clojure.org. Retrieved 2019-07-07. https://clojure.org/about/jvm_hosted
"ClojureScript". ClojureScript.org. Retrieved 2019-07-06. https://clojurescript.org
"ClojureScript – FAQ (for JavaScript developers)". ClojureScript.org. Retrieved 2018-02-04. https://clojurescript.org/guides/faq-js#does-clojurescript-work-in-old-browsers
"ClojureCLR". GitHub. Retrieved 2012-06-28. https://github.com/clojure/clojure-clr
Borkent, Michiel. "Babashka". Babashka.org. Retrieved 2019-08-19. https://babashka.org
Hu, Wei. "A Lisp on Perl". MetaCPAN.org. Retrieved 2019-07-06. https://metacpan.org/pod/CljPerl
"What is ClojureDart?", GitHub, Tensegritics, 2022-12-16, retrieved 2022-12-16 https://github.com/Tensegritics/ClojureDart
Facorro, Juan. "Clojerl". GitHub. Retrieved 2019-07-06. https://github.com/clojerl/clojerl
"basilisp". GitHub. Retrieved 2024-05-13. https://github.com/basilisp-lang/basilisp
"ClojureRS". GitHub. Retrieved 2022-03-17. https://github.com/clojure-rs/ClojureRS
Akkaya, Nurullah. "Ferret". Ferret-Lang.org. Retrieved 2019-07-06. https://ferret-lang.org/
Wilkerson, Jeaye. "jank". Jank-Lang.org. Retrieved 2022-08-17. https://jank-lang.org/
Bataev, Roman. "Joker". Joker-Lang.org. Retrieved 2019-07-06. https://joker-lang.org/
Cannon, Aemon. "Laz3r". GitHub. Retrieved 2019-07-06. https://github.com/aemoncannon/las3r
Baldridge, Timothy. "Pixie". GitHub. Retrieved 2025-02-06. https://github.com/pixie-lang/pixie
Connor, Ashe. "Rouge". GitHub. Retrieved 2019-07-06. https://github.com/ecmendenhall/rouge
Miller, Alex (2019-02-04). ""State of Clojure 2019" Results". Clojure.org. https://www.clojure.org/news/2019/02/04/state-of-clojure-2019
Batsov, Bozhidar; contributors. "CIDER: The Clojure Interactive Development Environment that Rocks". CIDER.mx. Retrieved 2019-07-05. https://cider.mx/
Fleming, Colin. "Cursive: Provides full Clojure and ClojureScript language support". JetBrains.com. Retrieved 2019-07-05. https://plugins.jetbrains.com/plugin/8090-cursive
Prokopov, Nikita. "Clojure Sublimed". PackageControl.io. Retrieved 2023-02-18. https://packagecontrol.io/packages/Clojure%20Sublimed
Helenius, Eero. "Tutkain". FlowThing.me. Retrieved 2023-02-18. https://tutkain.flowthing.me/
Pope, Tim. "fireplace.vim: Clojure REPL Support". VIM.org. Retrieved 2019-07-05. https://www.vim.org/scripts/script.php?script_id=4978
Monroe, Dominic (2016-12-13). "Clojure and Vim: An overview – It's very possible". JUXT.pro. https://juxt.pro/blog/posts/vim-1.html
Masashi, Iizuka (2024-04-29). "vim-elin: A Clojure development environment for Vim/Neovim, primarily written in Babashka". GitHub. Archived from the original on 2024-05-02. Retrieved 2024-05-02. https://github.com/liquidz/vim-elin
Caldwell, Oliver. "Neovim Clojure(Script) tooling over prepl". GitHub. Retrieved 2019-11-09. https://github.com/Olical/conjure
Caldwell, Oliver (2019-11-06). "Getting started with Clojure, Neovim and Conjure in minutes". oli.me.uk. https://oli.me.uk/getting-started-with-clojure-neovim-and-conjure-in-minutes/
Strömberg, Peter. "Calva: Clojure & ClojureScript Interactive Programming". VisualStudio.com. Retrieved 2019-07-05. https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva
Szabo, Maurício. "Clover". VisualStudio.com. Retrieved 2021-01-28. https://marketplace.visualstudio.com/items?itemName=mauricioszabo.clover
clj-kondo/clj-kondo, clj-kondo, 2024-04-30, retrieved 2024-05-02 https://github.com/clj-kondo/clj-kondo
"Overview - Clojure LSP". clojure-lsp.io. Retrieved 2024-05-02. https://clojure-lsp.io/
Miller, Alex. "Deps and CLI Guide". Clojure.org. Retrieved 2019-07-08. https://clojure.org/guides/deps_and_cli
Miller, Alex (2017-12-08). "Clojure 1.9". Cognitect.com. http://blog.cognitect.com/blog/clojure19
"Clojure". Atlassian.net. Retrieved 2019-07-07. https://clojure.atlassian.net/projects/CLJ
"Clojure Forum". clojure.org. Retrieved 2020-03-20. https://clojure.org/news/2019/07/25/clojure-forum
Hickey, Rich (2018-11-26). "Open Source is Not About You". GitHub. https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9
"Workflow". Clojure.org. Retrieved 2019-07-07. https://clojure.org/dev/workflow
Rinko, Marek (2023-10-18). "Projection of Clojure in 2024". Flexiana. Retrieved 2025-03-27. https://flexiana.com/hidden/2023/10/clojure-in-2024
Goetz, Brian (2020-05-24). "Brian Goetz' favorite non-Java JVM language (Part 1 of 3)". Twitch.tv. https://www.twitch.tv/nipafx/clip/BloodyUglySharkFailFish
Goetz, Brian (2020-05-24). "Brian Goetz' favorite non-Java JVM language (Part 2 of 3)". Twitch.tv. https://www.twitch.tv/nipafx/clip/GrotesqueWonderfulPigeonEleGiggle
Goetz, Brian (2020-05-24). "Brian Goetz' favorite non-Java JVM language (Part 3 of 3)". Twitch.tv. https://www.twitch.tv/nipafx/clip/EphemeralAdorableWalletGingerPower
Evans, Eric (2018-08-14). "Modelling Time: Eric Evans: Domain-Driven Design Europe 2018". YouTube.com. https://www.youtube.com/watch?v=T29WzvaPNc8&t=926
Evans, Eric (2014-11-21). "Eric Evans on Twitter". Twitter.com. https://twitter.com/ericevans0/status/535742147098853376
"James Gosling meetup with London Java Community". YouTube.com. 2016-10-11. https://www.youtube.com/watch?v=-ktUXFxkSkI&t=24m14s
Graham, Paul (2016-05-06). "Paul Graham on Twitter". Twitter.com. https://twitter.com/paulg/status/728831131534024704
Martin, Robert (2019-08-22). "Why Clojure?". CleanCoder.com. http://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html
Martin, Robert (2018-11-29). "Unble Bob Martin on Twitter". Twitter.com. https://twitter.com/unclebobmartin/status/1068205421737857024
Martin, Robert (2018-08-01). "Introduction To Functional Programming". CleanCoders.com. https://cleancoders.com/video-details/clean-code-episode-53
Martin, Robert (2017-07-11). "Pragmatic Functional Programming". CleanCoder.com. https://blog.cleancoder.com/uncle-bob/2017/07/11/PragmaticFunctionalProgramming.html
"Technology Radar | An opinionated guide to today's technology landscape". Thoughtworks. Retrieved 2024-05-20. https://www.thoughtworks.com/radar
"Technology Radar: Clojure". ThoughtWorks.com. Retrieved 2019-02-10. https://www.thoughtworks.com/radar/languages-and-frameworks/clojure
Maple, Simon; Binstock, Andrew (2018-10-17). "JVM Ecosystem Report 2018". Snyk.io. https://snyk.io/blog/jvm-ecosystem-report-2018/
"Success Stories". Clojure.org. Retrieved 2018-10-27. https://clojure.org/community/success_stories
Liutikov, Roman (2017-12-17). "Roman Liutikov on Twitter". Twitter.com. https://twitter.com/roman01la/status/942469177444569089
"Jobs at Apple". Apple.com. Retrieved 2019-07-06. https://jobs.apple.com/en-us/search?sort=relevance&search=clojure
Borges, Leonardo (2015-07-07). "Realtime Collaboration with Clojure". YouTube.com. https://www.youtube.com/watch?v=3QR8meTrh5g
Pither, Jon (2016-10-04). "Clojure in London: Funding Circle – Lending some Clojure". JUXT.pro. https://juxt.pro/blog/posts/clojure-in-fundingcircle.html
Williams, Alex (2014-08-03). "The New Stack Makers: Adrian Cockcroft on Sun, Netflix, Clojure, Go, Docker and More". TheNewStack.io. https://thenewstack.io/the-new-stack-makers-adrian-cockcroft-on-sun-netflix-clojure-go-docker-and-more/
"Nubank adquire empresa norte-americana de tecnologia Cognitect". 23 July 2020. https://valorinveste.globo.com/mercados/renda-variavel/empresas/noticia/2020/07/23/nubank-adquire-empresa-norte-americana-de-tecnologia-cognitect.ghtml
Price, Chris (2014-04-11). "A New Era of Application Services at Puppet Labs". Puppet.com. Retrieved 2020-08-06. https://puppet.com/blog/a-new-era-of-application-services-at-puppet-labs/
Phillips, Marc (2015-07-14). "Walmart Runs Clojure at Scale". Cognitect.com. https://blog.cognitect.com/blog/2015/6/30/walmart-runs-clojure-at-scale
"Common-Metadata-Repository". GitHub. Retrieved 2019-07-06. https://github.com/nasa/Common-Metadata-Repository
Meier, Carin (2015-05-06). "Creative computing with Clojure". OReilly.com. http://radar.oreilly.com/2015/05/creative-computing-with-clojure.html
"Stack Overflow Developer Survey 2023". Stack Overflow. Retrieved 2024-05-02. https://survey.stackoverflow.co/2023/?utm_source=social-share&utm_medium=social&utm_campaign=dev-survey-2023
Hickey, Rich (2020-06-12). "A history of Clojure". Proceedings of the ACM on Programming Languages. 4 (HOPL): 1–46. doi:10.1145/3386321. S2CID 219603760. https://doi.org/10.1145%2F3386321
Hickey, Rich (2009-05-04). "Clojure 1.0". BlogSpot.com. https://clojure.blogspot.com/2009/05/clojure-10.html
Hickey, Rich (2009-12-31). "Clojure 1.1 Release". BlogSpot.com. https://clojure.blogspot.com/2009/12/clojure-11-release.html
Hickey, Rich (2010-08-19). "Clojure 1.2 Release". Google.com. https://groups.google.com/forum/#!topic/clojure/tXll-vxyJpc
Redinger, Christopher (2011-09-23). "[ANN] Clojure 1.3 Released". Google.com. https://groups.google.com/forum/#!topic/clojure/w5Nmx5rPaQs
Dipert, Alan (2012-04-17). "[ANN] Clojure 1.4 Released". Google.com. https://groups.google.com/forum/#!topic/clojure/H4f2nbB6gWI
Halloway, Stuart (2013-03-01). "ANN: Clojure 1.5". Google.com. https://groups.google.com/forum/#!topic/clojure/kzF5O0Yfdhc
Halloway, Stuart (2013-03-10). "Clojure 1.5.1". Google.com. https://groups.google.com/forum/#!topic/clojure/PDENUpc44lY
Miller, Alex (2014-03-25). "[ANN] Clojure 1.6". Google.com. https://groups.google.com/forum/#!topic/clojure/pArFVr0fJ0w
Miller, Alex (2015-06-30). "Clojure 1.7 is now available". Clojure.org. https://clojure.org/news/2015/06/30/clojure-17
Miller, Alex (2016-01-19). "Clojure 1.8 is now available". Clojure.org. https://clojure.org/news/2016/01/19/clojure18
Miller, Alex (2017-12-08). "Clojure 1.9 is now available". Clojure.org. https://clojure.org/news/2017/12/08/clojure19
Miller, Alex (2018-12-17). "Clojure 1.10 release". Clojure.org. https://clojure.org/news/2018/12/17/clojure110
Miller, Alex (2019-06-06). "Clojure 1.10.1 release". Clojure.org. https://clojure.org/news/2019/06/06/clojure1-10-1
Miller, Alex (2021-01-26). "Clojure 1.10.2 release". Clojure.org. https://clojure.org/news/2021/01/26/clojure1-10-2
Miller, Alex (2021-03-04). "Clojure 1.10.3 release". Clojure.org. https://clojure.org/news/2021/03/04/clojure1-10-3
Miller, Alex (2022-03-22). "Clojure 1.11.0 release". Clojure.org. https://clojure.org/news/2022/03/22/clojure-1-11-0
Miller, Alex (2022-04-05). "Clojure 1.11.1 release". Clojure.org. https://clojure.org/news/2022/04/05/clojure-1-11-1
Miller, Alex (2024-03-08). "Clojure 1.11.2 release". Clojure.org. https://clojure.org/news/2024/03/08/clojure-1-11-2
Miller, Alex (2024-09-05). "Clojure 1.12.0 release". Clojure.org. https://clojure.org/news/2024/09/05/clojure-1-12-0