Clojure
In informatica Clojure è un dialetto del linguaggio di programmazione Lisp: alcune importanti caratteristiche sono lo sviluppo interattivo, la filosofia secondo cui lo stesso codice è un dato, le macro e la compilazione in Java bytecode, che permette a Clojure di funzionare su una macchina virtuale Java e di accedere facilmente a tutte le librerie Java. Il supporto del paradigma di programmazione funzionale, unito alla persistenza dei dati in memoria e alla loro gestione tramite STM permette di realizzare più facilmente programmi basati sul calcolo parallelo e multithread.
Clojure linguaggio di programmazione | |
---|---|
Autore | Rich Hickey |
Data di origine | 2007 |
Ultima versione | 1.12.0 (5 settembre 2024) |
Utilizzo | funzionale, concorrente |
Paradigmi | funzionale |
Tipizzazione | forte, dinamica |
Estensioni comuni | .clj, .cljs, .edn |
Influenzato da | Lisp, Erlang, Haskell, ML, Prolog, Scheme, Java, Ruby |
Ha influenzato | Elixir |
Implementazione di riferimento | |
Sistema operativo | Multipiattaforma |
Licenza | Eclipse Public License |
Sito web | clojure.org/ |
Filosofia
modificaRich Hickey sviluppò Clojure poiché voleva avere a disposizione un moderno linguaggio Lisp in grado di supportare il paradigma di programmazione funzionale, di sfruttare una piattaforma software già esistente e di gestire facilmente la concorrenza.
Esempi
modifica(println "Hello world!")
Definizione di una funzione:
(defn square [x]
(* x x))
Altri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Clojure
Collegamenti esterni
modifica- Sito ufficiale, su clojure.org.
- Blog ufficiale, su clojure.org.
- (EN) Opere riguardanti Clojure, su Open Library, Internet Archive.
- Clojure, su packages.debian.org.
- (EN) Clojure, su GitHub.
- Repository sorgenti di Clojure, su github.com.
- Sito di segnalazione bug, su dev.clojure.org.
- (EN) Clojure, su Free Software Directory.
- (EN) Guida introduttiva a Clojure, su java.ociweb.com. URL consultato il 25 agosto 2009 (archiviato dall'url originale il 28 giugno 2011).
Controllo di autorità | LCCN (EN) sh2011003332 · GND (DE) 7722643-4 · J9U (EN, HE) 987007599872005171 |
---|