Programmiersprache Clojure 1.11 erneuert Syntax und mathematische Funktionen

Die funktionale Sprache bringt Syntax- und Namespace-Neuerungen sowie Bugfixes fĂĽr die Performance und Fehlermeldungen.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Rechner
Lesezeit: 2 Min.
Inhaltsverzeichnis

Der Lisp-Dialekt Clojure wartet nach ĂĽber drei Jahren mit der neuen Version 1.11 auf. Seit Clojure 1.10 sind einige neue Features eingeflossen, darunter eine ĂĽberarbeitete Syntax fĂĽr den Umgang mit Keyword-Argumenten, ein neuer Namespace und Fehlerbehebungen.

Die funktionale Programmiersprache Clojure läuft in der Java Virtual Machine (JVM) und erschien erstmals 2007. Im vergangenen Jahr ergatterte sie im "Stack Overflow Developer Survey" den zweiten Platz der beliebtesten Programmiersprachen, einzig Rust erfreute sich einer noch größeren Beliebtheit.

In Version 1.11 akzeptieren Keyword-Argument-Funktionen erstmals eine Map. Keyword-Argumente in Clojure sind optional nachlaufende variadische Argumente nach dem Muster akey aval bkey bval.... Funktionen, die Keyword-Argumente annehmen, können nun eine Map erhalten, entweder statt Schlüssel/Wert-Paaren oder nachfolgend und zusätzlich zu ihnen. Wird einzig eine Map übergeben, kommt sie für Destructuring zum Einsatz, andernfalls wird eine nachfolgende Map einem Schlüssel/Wert-Paar durch conj hinzugefügt. Weitere Ausführungen dazu finden sich in der Ankündigung des neuen Features.

Der neue Namespace clojure.math in Clojure 1.11 bietet Wrapper fĂĽr die in java.lang.Math enthaltenen Funktionen. Diese sind auf long- und double-Overloads begrenzt und bieten primitiven Support ohne Reflexion. Zudem haben die Funktionen abs, NaN? und infinite? in clojure.core Einzug gehalten.

Weitere Neuerungen betreffen zusätzliche Parsing-Funktionen sowie Bugfixes für Compiler, Performance und Fehlermeldungen. So soll das fälschliche Bezeichnen von Laufzeitfehlern als Compilerfehler in Calls durch Compiler.load() nun nicht mehr auftreten.

Clojure hängt von Java ab, und der Code der Progammiersprache wird zu Java-8-kompatiblem Bytecode kompiliert. Mit ihm können auch neuere Java-Versionen umgehen. Als minimale Laufzeit-Dependency für Clojure 1.11 gilt Java 8, aber auch die weiteren Long-Term-Support-Versionen 11 und 17 lassen sich verwenden. Andere Java-Versionen dürften laut Clojure-Team ebenfalls funktionieren, allerdings ist dafür keine offizielle Unterstützung vorhanden.

Die unter Eclipse Public License 1.0 stehende Programmiersprache steht in Version 1.11 zum Download bereit. Alle Details zum neuen Release sind der AnkĂĽndigung auf der Clojure-Website zu entnehmen.

(mai)