Erlang VM上で動作する関数型言語「Elixir 1.3」リリース、ビルドツールやテストフレームワークを強化

 Erlang VM上で動作する動的関数型言語「Elixir」の開発チームは6月21日、最新版「Elixir v1.3」を発表した。

 Elixirは拡張性がありメンテナンス性の高いアプリケーション構築を目的としたプログラミング言語。低遅延、分散型、フォルトトーラレントといった特徴を持ち、Erlang VM上で動作する。

 Elixir v1.3は1月に登場したElixir v1.2に続くリリースとなる。ビルドツール「Mix」、テストフレームワーク「ExUnit」を中心に、言語、コンパイラ、ツールを強化した。

 言語面では新たに「Calendar」モジュールが加わった。日付けの保存ができるDateをはじめ、Time、NaiveDateTime、Datetimeの4種類のタイプも導入された。フル機能をもつDatetime APIというより、エコシステムで十分な相互運用性を実現する土台になるとしている。~D[2016-05-29] など、タイプに関連する3種類のsigilも加わっている。

 Accessモジュールでは、開発者がネスト化されたデータ構造を容易に縦断するためのアクセサも加わった。if、caseなどによる命令的な変数割り当てが非推奨となった。

 Mixでは、ワークフロー改善を目的とした新しいタスクが加わった。また、コンパイルするすべてのファイルを伝えず、コンパイラに対してコンパイルすべきファイル数を表示するようになった。現在のプロジェクト起動のために必要なアプリケーションをリストするmix app.tree、依存性をリストするmix deps.treeなども導入した。

 Mixではまた、クロスリファレンスのチェッカーとなる新しいタスクxrefを導入した。存在しないモジュールや関数へのコールを検出できるなどの機能があり、コードにあるバグ発見につながるとしている。関連して、一般的なモジュール追跡機能も備える。

 ExUnitでは、ツール側を強化し、外部ツールとの統合を改善した。開発者がテストに「assert left == right」を加えることで、Diff形式で出力できるようになった。また、さまざまなテストのタイプを登録できるようになり、QuickCheckのようなライブラリを利用できるようになった。

 Elixirの利用にはErlang 18以降が必要。Mac OS X、各種UNIX/Linux(Arch Linux、openSUSE、Gentoo、Fedora、FreeBSD、Ubuntu)、Windowsで利用できる。バージョン1.3はプロジェクトのWebサイトより入手できる。

Elixir
http://elixir-lang.org/