Die funktionale, Java-basierte Programmiersprache Clojure, die sich an Lisp orientiert, ist in Version 1.6 erschienen. Einige vormalige Alpha-Features sind nun den Kinderschuhen entwachsen.
Zunächst mal kommen mit der neuen Version von Clojure einige Updates: So wurden die JDK-Version auf 1.6 aktualisiert und die ASM-Bytecode-Bibliothek auf Version 4.1 gehoben. Einige der vormals als Alpha-Features titulierten Funktionen bezeichnen die Macher in ihrer Ankündigung nun als stabil: Das betrifft unter anderem Beobachter-Funktionen (Watches), flüchtige Datenstrukturen (Transients), Ausnahmen sowie Records und Types.
Das Paket “clojure.java.api” bringt ein minimales Interface mit, um anderen JVM-Sprachen den Zugang zu Clojure zu ermöglichen. Über Destructuring lassen sich einzelne Elemente von Vektoren, Listen und Maps Variablen zuweisen. Das Feature funktioniert nun auch mit Maps, die Keys enthalten, welche zu bestimmten Namensräumen gehören. Es gibt neue “some”-Operationen für Funktionen in Bedingungen, die Werte jenseits von Null erwarten.
Nicht zuletzt bringt der Clojure-Core neue Hash-Algorithmen für Primitive und Sammlungen mit, ergänzt eine neue bitweise Verschiebung sowie eine neue Testfunktion, die eine Liste von Variablen in Namespaces gruppiert. Daneben gibt es Performance-Verbesserungen und zahlreiche Bugfixes. Eine Übersicht der Änderungen lässt sich der Changes-Datei auf Github entnehmen. Herunterladen können Entwickler die neue Version über den Downloadbereich der Webseite.




