Global Information Lookup Global Information

Clojure information


Clojure
Paradigmmulti-paradigm:
  • agent-oriented[1]
  • concurrent[2][3]
  • functional[4]
  • logic[5]
  • macro[6]
  • pipeline[7]
FamilyLisp
Designed byRich Hickey
First appeared2007; 17 years ago (2007)
Stable release
1.11.2[8] / 8 March 2024; 59 days ago (2024-03-08)
Typing discipline
  • dynamic
  • strong
Memory managementGarbage collection via a host (JVM, CLR, a JavaScript runtime such as V8 in case of ClojureScript or BEAM (see below)
Platform
  • Java
  • JavaScript
  • .NET
LicenseEclipse Public
Filename extensions
  • .clj
  • .cljs
  • .cljr
  • .cljc
  • .cljd
  • .edn
Websiteclojure.org
Dialects
ClojureScript, ClojureDart
Influenced by
  • C#
  • C++[9]
  • Common Lisp
  • Erlang
  • Haskell[10]
  • Java
  • ML
  • Prolog
  • Racket[11]
  • Ruby[12]
  • Scheme
  • Wolfram Language[13]
Influenced
  • Elixir
  • Hy
  • Janet[14]
  • LFE
  • Pixie[15]
  • Rhine[16]
  • Clojure Clojure Programming at Wikibooks

Clojure (/ˈklʒər/, like closure)[17][18] is a dynamic and functional dialect of the Lisp programming language on the Java platform.[19][20]

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.

  1. ^ "Agents and Asynchronous Actions". Clojure.org. Retrieved 2019-07-07.
  2. ^ "Concurrent Programming". Clojure.org. Retrieved 2019-07-07.
  3. ^ Hickey, Rich; contributors. "core.async". GitHub. Retrieved 2019-07-07.
  4. ^ "Functional Programming". Clojure.org. Retrieved 2019-07-07.
  5. ^ Nolen, David; Hickey, Rich. "core.logic". GitHub. Retrieved 2019-07-07.
  6. ^ "Macros". Clojure.org. Retrieved 2019-07-07.
  7. ^ Esterhazy, Paulus. "Threading Macros Guide". Clojure.org. Retrieved 2019-07-07.
  8. ^ Cite error: The named reference release/clojure1-11-2 was invoked but never defined (see the help page).
  9. ^ Fogus, Michael (2011). "Rich Hickey Q&A". CodeQuarterly.com. Archived from the original on 2017-01-11.
  10. ^ Hickey, Rich (2011). "Simple Made Easy". YouTube. {{cite web}}: Unknown parameter |note= ignored (help)
  11. ^ Bonnaire-Sergeant, Ambrose (2012). A Practical Optional Type System for Clojure (Thesis). The University of Western Australia.
  12. ^ "Clojure Programming" (PDF). OReilly.com. Retrieved 2013-04-30.
  13. ^ Hickey, Rich. "Clojure Bookshelf". Amazon.com. Archived from the original on 2017-10-03. Retrieved 2019-07-07.
  14. ^ Rose, Calvin; contributors. "Janet Language". Janet-Lang.org. Retrieved 2023-02-18.
  15. ^ Baldridge, Timothy. "Pixie". PixieLang.org. Retrieved 2019-07-07.
  16. ^ Ramachandra, Ramkumar. "Rhine". GitHub. Retrieved 2019-07-07.
  17. ^ a b c Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Archived from the original on 2019-08-26.
  18. ^ Hickey, Rich (2009-01-05). "meaning and pronunciation of Clojure". Google.com.
  19. ^ Krill, Paul (2012-03-22). "Clojure inventor Hickey now aims for Android". InfoWorld.com.
  20. ^ "Clojure". Clojure.org. Retrieved 2019-07-07.
  21. ^ a b "The Reader". Clojure.org. Retrieved 2019-07-07.
  22. ^ a b "Differences with other Lisps". Clojure.org. Retrieved 2019-07-07.
  23. ^ "Values and Change: Clojure's approach to Identity and State". Clojure.org. Retrieved 2019-07-07.
  24. ^ Hickey, Rich. "Rationale". Clojure.org. Retrieved 2019-07-07.
  25. ^ Torre, Charles (2009-10-06). "Expert to Expert: Rich Hickey and Brian Beckman – Inside Clojure". MSDN.com.
  26. ^ "clojure/spec.alpha". GitHub. 2017-04-26.

and 22 Related for: Clojure information

Request time (Page generated in 0.5453 seconds.)

Clojure

Last Update:

Clojure (/ˈkloʊʒər/, like closure) is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like most other Lisps, Clojure's...

Word Count : 3464

Rich Hickey

Last Update:

of the Clojure programming language. Clojure is a Lisp dialect built on top of the Java Virtual Machine. He also created or designed ClojureScript and...

Word Count : 328

Modulo

Last Update:

Retrieved 2022-10-04. "clojure.core - Clojure v1.10.3 API documentation". clojure.github.io. Retrieved 2022-03-16. "clojure.core - Clojure v1.10.3 API documentation"...

Word Count : 3361

Heroku

Last Update:

Ruby programming language, but now also supports Java, Node.js, Scala, Clojure, Python, PHP, and Go. For this reason, Heroku is said to be a polyglot...

Word Count : 1187

Persistent data structure

Last Update:

Retrieved 2018-10-23. "Clojure - Differences with other Lisps". clojure.org. Retrieved 2018-10-23. "Clojure - Data Structures". clojure.org. Retrieved 2018-10-23...

Word Count : 6207

Functional programming

Last Update:

seeing use today in industry and education, including Common Lisp, Scheme, Clojure, Wolfram Language, Racket, Erlang, Elixir, OCaml, Haskell, and F#. Lean...

Word Count : 8445

Function overloading

Last Update:

overriding Object-oriented programming Operator overloading "Clojure - Learn Clojure - Functions". clojure.org. Retrieved 2023-06-13. "Kotlin language specification"...

Word Count : 1427

Compiled language

Last Update:

Forth Fortran Go Haskell Haxe (to bytecode or C++) Java (to bytecode) Clojure Scala Kotlin JOVIAL Julia (through JIT) LabVIEW, G Lisp Common Lisp Mercury...

Word Count : 430

List of programming languages by type

Last Update:

agents, which are abstractions of objects that can message other agents. Clojure F# GOAL SARL Array programming (also termed vector or multidimensional)...

Word Count : 7022

SoundCloud

Last Update:

content. Users 140 million users monthly (2023) Launched 17 October 2008; 15 years ago (2008-10-17) Current status Active Written in Ruby Scala Clojure...

Word Count : 4537

List of build automation software

Last Update:

cross-compilation Boot, a Java build and dependency management tool written in Clojure boost.build For C++ projects, cross-platform, based on Perforce Jam Buck...

Word Count : 1184

Comparison of functional programming languages

Last Update:

Retrieved 8 February 2020. "Clojure Functional Programing". "Clojure - lazy". Retrieved 27 November 2013. "Exploring clojure: dynamic typing". 7 December...

Word Count : 817

Hash array mapped trie

Last Update:

Infoscience Department, École Polytechnique Fédérale de Lausanne. "clojure/clojure". GitHub. 8 December 2022. "Frege/frege". GitHub. 7 December 2022....

Word Count : 613

Processing

Last Update:

platform using JRuby. Quil is an interactive animation library for Clojure and ClojureScript based on Processing. The music video for "House of Cards" by...

Word Count : 2263

Probabilistic programming

Last Update:

Python CuPPL NOVA Venture Scheme C++ Probabilistic-C C C Anglican Clojure Clojure IBAL OCaml BayesDB SQLite, Python PRISM B-Prolog Infer.NET .NET Framework...

Word Count : 1777

Hy

Last Update:

can be used to write domain-specific languages. Similar to Kawa's and Clojure's mappings onto the Java virtual machine (JVM), Hy is meant to operate as...

Word Count : 407

Docstring

Last Update:

metadata. Languages that support docstrings include Python, Lisp, Elixir, Clojure, Gherkin, Julia and Haskell. Documentation is supported at language level...

Word Count : 462

Deeplearning4j

Last Update:

the widely used programming language Java, though it is compatible with Clojure and includes a Scala application programming interface (API). It is powered...

Word Count : 1393

List of JVM languages

Last Update:

language Clojure (no longer in top 50, is one of 51–100, at one point at #47), a dynamic, and functional dialect of the Lisp programming language (ClojureScript...

Word Count : 1315

MurmurHash

Last Update:

C, Go, C#, D, Lua, Perl, Ruby, Rust, PHP, Common Lisp, Haskell, Elm, Clojure, Scala, Java, Erlang, Swift, Object Pascal, Kotlin, JavaScript. and OCaml...

Word Count : 1366

List comprehension

Last Update:

constructs List Comprehensions across languages Axiom stream examples Clojure API documentation - for macro Implementation of a Lisp comprehension macro...

Word Count : 2561

Datomic

Last Update:

been designed for first-class use with JVM languages such as Java and Clojure. In its reference architecture, Datomic uses peers and transactors which...

Word Count : 164

PDF Search Engine © AllGlobal.net