Clojure ( shqiptimi: klouzhër ) [17] [18] është një dialekt dinamik dhe funksional i gjuhës programuese Lisp në platformën Java . [19] [20]

Clojure
Paradigmamulti-paradigm:
FamilyLisp
E projektuar ngaRich Hickey
Doli më2007; 17 vite më parë (2007)
Emetimi i fundit1.11.2[8] / 8 mars 2024; 9 months më parë (2024-03-08)
Tipi i disciplinës
DialektiClojureScript, ClojureDart
Ndikuar nga
Ndikoi në
Platform
LicencaEclipse Public
Filename extension(s)
  • .clj
  • .cljs
  • .cljr
  • .cljc
  • .cljd
  • .edn
Websiteclojure.org

Ashtu si shumica e Lisp-eve të tjerë, sintaksa e Clojure është ndërtuar mbi shprehjet S që analizohen fillimisht në strukturat e të dhënave nga një lexues përpara se të përpilohen. [21] [17] Lexuesi i Clojure mbështet sintaksë literale për hartat, setet dhe vektorët së bashku me listat, dhe këto përpilohen drejtpërdrejt në strukturat e përmendura. [21] Clojure e trajton kodin si të dhënë dhe ka një sistem makro Lisp . [22] Clojure është një Lisp-1 dhe nuk synohet të jetë në përputhje me kodet me dialektet e tjera të Lisp, pasi përdor grupin e vet të strukturave të të dhënave të papajtueshme me Lisp-et e tjera. [22]

Clojure mbron pandryshueshmërinë dhe strukturat e pandryshueshme të të dhënave dhe inkurajon programuesit që të jenë të shkoqur/të qartë në lidhje me menaxhimin e identitetit dhe gjendjeve të tij. [23] Ky fokus në programimin me vlera të pandryshueshme dhe ndërtime të qarta përparim-kohe synon të lehtësojë zhvillimin e programeve më të fuqishme, veçanërisht të njëkohshme, që janë të thjeshta dhe të shpejta. [24] [25] [17] Ndërsa sistemi i tij i tipit është tërësisht dinamik, përpjekjet e fundit kanë kërkuar gjithashtu zbatimin e një sistemi të tipit të varur . [26]

Gjuha u krijua nga Rich Hickey në mesin e viteve 2000, fillimisht për platformën Java; gjuha që atëherë është bartur në platforma të tjera, si për shembull Common Language Runtime (.NET). Hickey vazhdon të udhëheqë zhvillimin e gjuhës si diktatori i saj dashamirës i përjetshëm .

Referime

Redakto
  1. ^ "Agents and Asynchronous Actions". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  2. ^ "Concurrent Programming". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  3. ^ Hickey, Rich; contributors. "core.async". GitHub. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  4. ^ "Functional Programming". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  5. ^ Nolen, David; Hickey, Rich. "core.logic". GitHub. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  6. ^ "Macros". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  7. ^ Esterhazy, Paulus. "Threading Macros Guide". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  8. ^ Gabim referencash: Etiketë <ref> e pavlefshme; asnjë tekst nuk u dha për refs e quajtura release/clojure1-11-2
  9. ^ Fogus, Michael (2011). "Rich Hickey Q&A". CodeQuarterly.com. Arkivuar nga origjinali më 2017-01-11. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  10. ^ Hickey, Rich (2011). "Simple Made Easy". YouTube. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!); Parametri i panjohur |note= është injoruar (Ndihmë!)
  11. ^ Bonnaire-Sergeant, Ambrose (2012). A Practical Optional Type System for Clojure (Tezë). The University of Western Australia. {{cite thesis}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  12. ^ "Clojure Programming" (PDF). OReilly.com. Marrë më 2013-04-30. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  13. ^ Hickey, Rich. "Clojure Bookshelf". Amazon.com. Arkivuar nga origjinali më 2017-10-03. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  14. ^ Rose, Calvin; contributors. "Janet Language". Janet-Lang.org. Marrë më 2023-02-18. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  15. ^ Baldridge, Timothy. "Pixie". PixieLang.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  16. ^ Ramachandra, Ramkumar. "Rhine". GitHub. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  17. ^ a b c Edwards, Kathryn (2009-08-10). "The A-Z of Programming Languages: Clojure". Computerworld.com.au. Arkivuar nga origjinali më 2019-08-26. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!) Gabim referencash: Invalid <ref> tag; name "interview/a-z" defined multiple times with different content
  18. ^ Hickey, Rich (2009-01-05). "meaning and pronunciation of Clojure". Google.com. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  19. ^ Krill, Paul (2012-03-22). "Clojure inventor Hickey now aims for Android". InfoWorld.com. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  20. ^ "Clojure". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  21. ^ a b "The Reader". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  22. ^ a b "Differences with other Lisps". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  23. ^ "Values and Change: Clojure's approach to Identity and State". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  24. ^ Hickey, Rich. "Rationale". Clojure.org. Marrë më 2019-07-07. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  25. ^ Torre, Charles (2009-10-06). "Expert to Expert: Rich Hickey and Brian Beckman – Inside Clojure". MSDN.com. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  26. ^ "clojure/spec.alpha". GitHub. 2017-04-26. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)