Scala 2.12.0-M1リリース

05 May 2015

scala-lang.orgのニュースの抄訳です(翻訳:mhanada) 原文


Scala 2.12.0-M1のリリースを発表します。

Scala 2.11.xで非推奨の警告が出ないコードは2.12.xでもコンパイルできるはずです(リフレクションのような実験的APIは保証していません)。もしコンパイルできなければ不具合を報告してください。

Scala 2.12エコシステムのコアプロジェクトを利用できるようにコミュニティと協力しています。我々がScalaの標準ライブラリを改良し続けられるようにするため、このリリースは2.11.x系列とのバイナリ互換性は確保されません。

Scala 2.12系列はJava 8をターゲットにしています。Scala 2.12コンパイラを含め、Scala 2.12で書かれたプログラムはJava 8以降でのみ実行できます。ただし、このマイルストーンリリース(2.12.0-M1)ではまだJava 6をターゲットにしています。

2.12系列の新機能

Scala 2.12には2.11系列の不具合修正と改善がすべて含まれています。

現時点でのマイルストーンサイクルでは、Scala 2.12はまだ2.11とかなり近い状態のままです。

Scala 2.12では以下の変更が予定されています。

  • Java 8形式のクロージャ。ScalaコンパイラはJava 8と同じやり方でクロージャクラス(ラムダ)を生成するようになります。この機能に関する設計メモがこのgistにあります。

  • SAM(Single Abstraction Method)型用のラムダ構文。Java 8と同じようにScala 2.12では単一の抽象メソッドを持つ型のインスタンス化がラムダでできるようになります。この機能は-Xexperimentalコンパイラオプションを使うとScala 2.11ですでに利用可能です。この機能により、Java 8向けに書かれたライブラリをScalaで使用するときの使い勝手が改善されます。

  • 新しいバックエンドとオプティマイザ。-Ybackend:GenBCodeコンパイラオプションを使うとScala 2.11でも使える”GenBCode”バックエンドがデフォルトで有効になります。さらにScala 2.12では新しいインライン化とバイトコードオプティマイザが含まれるようになります。新しいオプティマイザの不具合や、今後の作業項目はscala-optリポジトリのイシュートラッカーで管理していきます。

上記のリストが全てではなく、マイルストーン期間中に追加される予定です。

このマイルストーンで、ScalaチームとコントリビュータはScala 2.12特有の47のバグを修正しました。Scala 2.12の開発期間中に不具合修正の2.11へのバックポートも可能な限り続けていきます。

削除されたモジュール

以下のモジュールはScala 2.12から取り除かれています。

バグを見つけたらイシュートラッカーに登録してください。バグかどうかわからないときはscala-userメーリングリストで相談しましょう。新しい不具合を登録するときはすでに登録されていないか前もって検索してください。

Scala IDE for EclipseはScala 2.12リリースと同時にリリースされる予定ですが、このマイルストーンリリース時点ではまだリリースされていません。

Scala 2.12で使えるライブラリやフレームワークをチェックしてください。

Scala 2.12のマイナーリリースはバイナリ互換性を確保しますが、マイルストーンやリリース候補はこの限りではありませんので注意してください。



comments powered by Disqus