Funktionale JVM-Sprache mit neuen Features

Clojure 1.7 auf Github verfügbar

Moritz Hoffmann

(c) Shutterstock.com / Mclek

Anders als andere Programmiersprachen für die JVM ist Clojure vollständig funktional. Der seit 2007 existierende Lisp-Dialekt gilt als sehr dynamisch und kommt vor allem bei der Erstellung von nebenläufigem Code zur Anwendung. Auch für die Verarbeitung großer Datenmengen und in der Kombination mit Microservice-Architekturen wird Clojures funktionale Arbeitsweise herangezogen. Vor kurzem wurde Clojure 1.7.0 zum Download freigegeben.

Die neue Version, deren Quellcode auf GitHub zur Verfügung gestellt wird, enthält neben Bugfixes zunächst einige Verbesserungen für die Performance, das Error Messaging und die Dokumentation. Neu sind die sogenannten Transducers, algorithmische Transformationen, die kontextunabhängig in zahlreichen Prozessen, bspw. in Streams, Channels oder Collections, einsetzbar sind. Funktionen der Transducers sind in einer entsprechenden Dokumentation nachzulesen.

Mit den Reader Conditionals wird in Clojure 1.7 Support für portierbaren Code angeboten, der bei nur geringfügigen Änderungen auf verschiedenen Clojure-Plattformen laufen kann. Mit dem neuen Feature soll die zunehmend auftretende kombinierte Adressierung von Clojure und ClojureScript-Bibliotheken erleichtert werden.

Beim Upgrade, so die Ankündigung, ist vor allem zu beachten, dass die Clojure-Sequences grundsätzlich mit einigen Java-Iteratoren nicht kompatibel sind. Eine Sequence (Seq) ist eine logische Liste, deren Interface es vielen Datenstrukturen ermöglicht, den Zugriff auf ihre Elemente als Sequenzen zu gewähren. Anders als Iteratoren sind die Seqs keine statischen Zeiger, sondern treten persistent und unveränderlich innerhalb von Collections auf.

Weil die Seqs auch in Clojure 1.7 gebündelt wurden, kann es in der Anwendung mit bestimmten Java-Iteratoren zu ungewollten Ergebnissen kommen. Die Entwickler empfehlen, Bibliotheken, die die Docstrings seq und iterator-seq fälschlicherweise nutzen, zu fixen, bevor Clojure 1.7 in Gebrauch genommen wird. Von der nächsten Version Clojure 1.8.0 stehen bereits Pre-Release-Builds als Snapshots auf der Clojure-Projektseite zur Verfügung.

Aufmacherbild: Software developer programming code von Shutterstock.com
Urheberrecht: Mclek

Verwandte Themen:

Geschrieben von
Moritz Hoffmann
Moritz Hoffmann
Moritz Hoffmann hat an der Goethe Universität Soziologie sowie Buch- und Medienpraxis studiert. Er lebt seit acht Jahren in Frankfurt am Main und arbeitet in der Redaktion von Software und Support Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: