Official Clojure Documentary page with Video, Shownotes, and Links
Le Lisp est une famille de langages qui représentent le code sous forme de listes imbriquées entre parenthèses, et Clojure en est un dialecte. Le REPL (Read-Eval-Print Loop) est une session interactive qui lit une expression, l'évalue, affiche le résultat et recommence, outil utilisé par les développeurs Clojure pour construire et tester des programmes en cours d'exécution. La programmation fonctionnelle est un style centré sur des fonctions qui reçoivent des valeurs et renvoient des valeurs en limitant l'état mutable et les effets de bord. Une valeur est une donnée immuable après création, comme un nombre, une chaîne ou une collection persistante, et une structure de données persistante conserve ses versions précédentes en renvoyant une nouvelle collection lors de modifications. La mémoire transactionnelle logicielle (STM) coordonne les changements d'état partagé par transactions plutôt que par verrous, un langage hébergé s'exécute sur une plateforme existante (par exemple Clojure sur la JVM ou ClojureScript en JavaScript), et la complexité accidentelle désigne les difficultés causées par les outils ou les choix de conception plutôt que par le problème lui-même.