Julia 1.10 bringt zwei neue Sprachfeatures

Das Minor Release bringt zwei neue Sprachfunktionen und aktualisiert die Library. Eine der Neuerungen ist der Einsatz von JuliaSyntax.jl als Standard-Parser.

In Pocket speichern vorlesen Druckansicht 11 Kommentare lesen
A,Orange,Light,Bulb,Stands,On,Top,Of,A,Pedestal

(Bild: HappyAprilBoy/ Shutterstock.com)

Lesezeit: 2 Min.

Das Team hinter der quelloffenen Programmiersprache Julia hat Version 1.10 veröffentlicht. Darin finden sich neue Sprachfunktionen sowie Änderungen bei Compiler und Library. Die dynamisch typisierte Programmiersprache legt insbesondere Wert auf die Performance. Diese soll sich im neuen Release weiter erhöhen.

Zunächst als experimentelles Feature eingeführt, erhebt Julia 1.10 den neuen Parser JuliaSyntax.jl zum Standard. Als seine Vorteile gelten sowohl bessere Diagnostiken als auch ein schnelleres Parsing. Der vorherige Parser lässt ich durch das Setzen der Umgebungsvariable JULIA_USE_FLISP_PARSER auf 1 weiterhin verwenden. Allerdings weist das Julia-Team darauf hin, dass Entwicklerinnen und Entwickler ein Issue verfassen sollten, wenn sie die Notwendigkeit sehen, den älteren Parser zu nutzen.

Das zweite neue Sprachfeature besteht darin, dass sich nun zwei weitere Zeichen als binäre Operatoren mit Pfeilpräzedenz verwenden lassen: (U+297A, \leftarrowsubset, Pfeil nach links durch Teilmengenzeichen) und (U+2977, \leftarrowless, Pfeil nach links durch Kleiner-als-Zeichen. Laut einem GitHub-Issue war einem Julia-User aufgefallen, dass diese im Gegensatz zu ihren nach rechts zeigenden Pendants fehlten.

Neben weiteren Sprachänderungen sowie Compiler- und Runtime-Aktualisierungen bringt das neue Release Änderungen der Library. So können parent und parentindices nun mit SubStrings umgehen, während binomial(x, k) das Nicht-Integer x nicht mehr verwenden kann. In der Standard-Library ist das Verwenden der Keyword-Zuweisung initialized=true für sortperm! und partialsortperm! als Option nicht mehr möglich, da dies unsicheres Verhalten an den Tag legte.

Zudem markiert das Release eine Funktion als deprecated (veraltet): Das @pure-Makro sollte nicht mehr zum Einsatz kommen. Stattdessen steht Base.@assume_effects :foldable zur Verfügung.

Diese und weitere Neuerungen in Julia 1.10 lassen sich den Release Notes entnehmen.

(mai)