Clojure 1.8リリース
日本時間1月20日にClojureの新しいバージョンである1.8.0が正式リリースされました。昨年6月末に1.7.0がリリースされてから6ヶ月半ぶりのバージョンアップとなります。 Clojure 1.8.0で取り入れられた大きな変更は以下の3つです。
- 文字列操作関数の拡充
- ダイレクトリンク方式の関数呼び出し
- ソケットサーバREPL
文字列操作関数の拡充では、これまでclojure.string
に含まれていなかった文字列操作関数のうちで、比較的使用頻度の高いstarts-with?
やindex-of
といった関数が新たにコアライブラリの一部として取り入れられました。
**ダイレクトリンク(direct linking)**方式は、Clojureでの関数呼び出しをコンパイルする新しい方式で、これまでのVarを経由した関数呼び出しの実現方法に比べて関数呼び出しのオーバーヘッドが小さくなることを特徴としています。この変更に伴って、これまでClojureの起動時に実行されていた処理の一部が不要となり、それを取り除くことにより起動時間の改善にも寄与するとされています。一方で、ダイレクトリンク方式でコンパイルされたコードは、従来可能だった実行時のコードの書き換え等に一部制限がかかるため、使用する際には注意が必要です。
ソケットサーバREPLは、コードを書き換えることなくネットワーク越しにアクセス可能なREPLサーバを起動できるようになる機能です。これまで、REPL機能を付け加えるにはそのためのコードを書いて組み込む必要がありましたが、ソケットサーバREPLを使用するとJVMの起動オプションを加えるだけでREPLサーバを立ち上げられるようになります。