Clojure

De la Wikipedia, enciclopedia liberă
Sari la navigare Sari la căutare
Clojure
Clojure logo.svg
Clojure
Extensii fișiere.clj, .cljs, .cljc, .edn
Paradigmăfuncțional
Apărut în  Modificați la Wikidata
Proiectat deRich Hickey
Dezvoltator Richard Hickey[*][[Richard Hickey (American chief technology officer)|​]]  Modificați la Wikidata
Ultima versiune1.8.0[1]
Tipare strong typing[*][[strong typing (specificity of a programming language's syntax when manipulating types of data)|​]]
dynamic typing[*][[dynamic typing (a style of dynamic typing in object oriented programming)|​]]  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.

Exemple[modificare | modificare sursă]

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

Referințe[modificare | modificare sursă]

  1. ^ „Index of /maven2/org/clojure/clojure/1.8.0/”. http://central.maven.org.  Legătură externa în |publisher= (ajutor)

Legături externe[modificare | modificare sursă]