Sari la conținut

Clojure

De la Wikipedia, enciclopedia liberă
Clojure
Clojure
Extensii fișiere.clj, .cljs, .cljc, .edn
Paradigmăfuncțional
Apărut în  Modificați la Wikidata
Proiectat deRich Hickey
DezvoltatorRichard Hickey[*][[Richard Hickey (American chief technology officer)|​]]  Modificați la Wikidata
Ultima versiune1.8.0[1]
Tiparestrong typing[*][[strong typing (specificity of a programming language's syntax when manipulating types of data)|​]]
dynamic typing[*][[dynamic typing (type system paradigm in which objects' types are enforced at runtime)|​]]  Modificați la Wikidata
Influențat deCommon Lisp, Erlang, Haskell, ML, Prolog, Scheme, Java, Ruby
InfluențeElixir, Pixie, Rhine
Sistem de operareJVM, CLR, JavaScript
LicențăEclipse Public License
Prezență onlineclojure.org

Clojure este un dialect recent al limbajului de programare Lisp și a fost creat de Rich Hickey. Este un limbaj general ce suporta dezvoltare interactiva și încurajează un stil de programare functional, simplificand în același timp programarea multi fir.

Clojure rulează pe mașina virtuala Java, în mediul Common Language Runtime si poate fi compilat in JavaScript, permițând execuția sa in orice mașina virtuala JavaScript sau browser. Ca și alte clone Lisp, Clojure tratează codul ca și datele și are un sistem sofisticat de macrouri.

Salutare lume:

(println "Salutare lume!")

Definirea unei funcții:

(defn la-patrat [x]
  (* x x))

GUI "Salutare lume" apelând librăria Java Swing:

(javax.swing.JOptionPane/showMessageDialog nil "Salutare lume" )
Rich Hickey, creatorul limbajului Clojure


Cronologia dialectelor de Lisp(edit)
1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
Lisp 1.5 Lisp 1.5
Maclisp Maclisp
Interlisp Interlisp
ZetaLisp Lisp Machine Lisp
Scheme Scheme
NIL NIL
Common Lisp Common Lisp
T T
Emacs Lisp Emacs Lisp
AutoLISP AutoLISP
ISLISP ISLISP
EuLisp EuLisp
Racket Racket
Arc Arc
Clojure Clojure
LFE LFE
Hy Hy
  1. ^ „Index of /maven2/org/clojure/clojure/1.8.0/”. http://central.maven.org. Arhivat din original la . Accesat în .  Legătură externa în |publisher= (ajutor)

Legături externe

[modificare | modificare sursă]