Programmiersprache: Entwickler verbessern Build- und Testing-Tools in Elixir 1.3
Mit der aktuellen Version der auf Skalier- und Wartbarkeit ausgelegten Programmiersprache gibt es neben neuen Typen zur Zeitrechnung auch neue Tasks, um beispielsweise Cross Reference Checks durchzufĂĽhren.
- Julia Schmidt
Mit Verbesserungen an Sprache, Compiler und Tools steht nun Version 1.3 der Programmiersprache Elixir zur Verfügung. Die 2012 auf der Bildfläche erschienene Sprache läuft auf der Erlang Virtual Machine und soll sich besonders für verteilt arbeitende, echtzeitfähige Anwendungen eignen. Die Entwicklung findet auf GitHub statt, wo Elixir unter der Apache License 2.0 zu finden ist.
Ihre Entwickler haben Elixir 1.3 unter anderem mit einem Calendar-Modul und vier neuen Typen zur Zeitrechnung ausgestattet. Date soll zum Speichern von Daten in einem gegebenen Kalender dienen, Time zum Hinterlegen einer Zeit, NaiveDateTime speichert Datumsinformationen ohne Zeitzone und DateTime mit dieser. Um neue Daten, Zeiten und Kombinationen daraus zu erstellen, stehen zudem drei neue Befehle mit Sigille (~) zur Verfügung. Eine weiter Sprachneuerung ist, dass Elixir nun Warnung ausgibt, sollte von äußeren Bereichen (Scopes) auf Konstrukte wie if und case zugegriffen werden.
Neues fĂĽr Building und Tests
Weitere Ergänzungen sind im Build-Tool Mix und dem Testframework ExUnit zu finden. Mix gibt standardmäßig nur noch aus, wie viele Dateien jeder Compiler abzuarbeiten hat. Außerdem enthält es den neuen Task xref, der Cross Reference Checks durchführt und so beispielsweise prüfen kann, ob aufgerufene Module und Funktionen überhaupt existieren. Passend dazu steht auch ein neuer xref-Compiler zur Verfügung, der entsprechende Tests bei jedem Kompiliergang durchführt. Darüber hinaus soll das Modul-Tracking in Mix besser funktionieren, mix app-tree listet alle Anwendungen auf, die das aktuelle Projekt zum Starten braucht und mix deps.tree zeigt alle dazu nötigen Abhängigkeiten. Weitere neue Tasks sind mix escript.install und mix escript.uninstall, die sich an mix archive anlehnen, aber nicht von der Elixir-Version abhängig sind und sich auch nicht negativ auf die Performance von Mix auswirken.
Durch mix xref gibt es für ExUnit nun die Möglichkeit, durch ein --stale-Flag (mix test --stale) nur die Tests von Mix durchführen zu lassen, die sich seit dem letzten Aufruf des Befehls geändert haben. Nutzen Entwickler Assertions nach dem Muster assert left == right, macht ExUnit die ein Versagen produzierenden Stellen nun durch einen Diff besser kenntlich. Zudem lassen sich nun unterschiedliche Testtypen registrieren und Tests in Blocks zusammenfassen. (jul)