Clojure
Dialect of the Lisp programming language on the Java platform / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about Clojure?
Summarize this article for a 10 year old
Clojure (/ˈkloʊʒər/, like closure)[17][18] is a dynamic and functional dialect of the Lisp programming language on the Java platform.[19][20]
Paradigm | multi-paradigm: |
---|---|
Family | Lisp |
Designed by | Rich Hickey |
First appeared | 2007; 17 years ago (2007) |
Stable release | |
Typing discipline | |
Memory management | Garbage collection via a host (JVM, CLR, a JavaScript runtime such as V8 in case of ClojureScript or BEAM (see below) |
Platform | |
License | Eclipse Public |
Filename extensions |
|
Website | clojure |
Dialects | |
ClojureScript, ClojureDart | |
Influenced by | |
Influenced | |
|
Like most other Lisps, Clojure's syntax is built on S-expressions that are first parsed into data structures by a reader before being compiled.[21][17] Clojure's reader supports literal syntax for maps, sets and vectors along with lists, and these are compiled to the mentioned structures directly.[21] Clojure treats code as data and has a Lisp macro system.[22] Clojure is a Lisp-1 and is not intended to be code-compatible with other dialects of Lisp, since it uses its own set of data structures incompatible with other Lisps.[22]
Clojure advocates immutability and immutable data structures and encourages programmers to be explicit about managing identity and its states.[23] This focus on programming with immutable values and explicit progression-of-time constructs is intended to facilitate developing more robust, especially concurrent, programs that are simple and fast.[24][25][17] While its type system is entirely dynamic, recent efforts have also sought the implementation of a dependent type system.[26]
The language was created by Rich Hickey in the mid-2000s, originally for the Java platform; the language has since been ported to other platforms, such as the Common Language Runtime (.NET). Hickey continues to lead development of the language as its benevolent dictator for life.