
数か月の開発の後、Clojure言語の新しいバージョン1.4がリリースされました。 Clojureは、JVMおよびCLRプラットフォームで実行される汎用Lispのようなプログラミング言語で、同時実行コードの開発を簡素化する特別なツールで知られています。
変更の中で注目に値するものは次のとおりです。
- mapv、filterv(ベクトルを返す)、reduce-kv(ベクトルをインデックス付きペアのコレクションとして扱う)があります
- requireはキーワード:referを使用できます。 :referはスコープ(名前空間、ns)から文字のセットを取ることができます:またはallすべてのパブリック変数をプルアップするため、その前にすべてのnsを記述する必要はありません
- *コンパイラーオプション*ローカル変数(ローカル)のクリーニングを無効にすることができ、それによりデバッグエクスペリエンスが向上します。
- = char引数について、リフレクション警告が削除され、パフォーマンスが改善されました
- 例外はRuntimeExceptionを介して処理されないため、メインの例外を簡単にキャッチできます。
- 改善されたパフォーマンスが含まれていますか?
- clojure.core / hashは.hashCodeに基づいて機能しなくなりました
- Javaを使用せずに、日付とUUIDをサポートして、カスタムデータ型を解析およびシリアル化できる拡張可能なリーダーコンポーネントが実装されています。
変更の完全なリストは、 リポジトリで入手できます 。
リリースはそれほど大きくありませんが、重要なパフォーマンスの改善が行われ、Java 7でスムーズに実行され始めています。
リリースと並行して、Clojureライブラリの一部であるいくつかの興味深いライブラリが更新されました。
- clj-time 、 有名なjoda-timeライブラリのラッパー
- congomongo 、NoSql Mongoデータベースを操作するためのツールキット
Clojure / coreは、言語の創始者であるRich Hickeyが率いる小さな開発者チームによって開発されていることを思い出させてください(Richはバージョン1.4 について詳しく語っています )。コミュニティは、カーネルに徐々に含まれるか、ライブラリパッケージで提供できる追加のライブラリを開発しています。
PS:最近、Clojureプロジェクトを展開するためのシェルであるLeiningen 2.0 preview3に気付いていない人のために。
PPS:リッチヒッキーの1.4の革新に関する講演、拡張可能なリーダーの詳細