Microsoftの関数型プログラミング言語、F#は、Visual Studio 2013プレビューを通して、バージョン3.1をリリースしたばかりだ。F#はMicrosoft Research, Cambridgeで生またが、その起源にかかわらず、言語は完全にMicrosoftによってサポートされ、Apache 2.0のオープンソースライセンスの下でライセンスされている。
F# チームによる発表で 著者達は過去のリリースの主要なフィーチャの実装とは対照的に、今回のリリースは、改良に焦点を当てている、と説明している。それでもこれらの改良から、F#の開発者はいくつもの新しい機能の恩恵を受けられる。例えば、改良されたF#の型推論、printfのパフォーマンス、ポータブルライブラリのサポート、プロジェクトのラウンドトリップなどである。
3.1での主要な言語の追加:
- 名前付き共用体型フィールド – 共用体型のそれぞれのケース内で共用体フィールドに名前をつけることができるようになった
- 配列スライシングの拡張 – これまで配列スライシングは次元が同じ配列に限られていたが、この制限がなくなった。
- LINQ-スタイルのメソッドに対する型推論の向上。- 関数を引数にとる、オーバーロードしたメソッド使用している際に、F#の型推論を改善した。
- 一番目のパラメータが型パラメータであるC#の拡張メンバーのサポート – 3.1 は、拡張メンバー(“this”)の使用をサポート,このコード片に見られるように。: static member M<T>(this T input, T other)
- 属性とリテラル式における定数のアライメントをサポートする宣言 – 例としては文字列を連結する “+” あるいはenumフラッグでのビットワイズ OR (|||)
コンパイラライブラリ/追加
- Printf パフォーマンス – 大幅な速度の増加を利用するのに、コード変更は不要(伝えられるところによれば40倍速い)
- Quotations におけるデバッグ情報 – fsc.exe あるいは fsi.exeで--quotations-debug フラグを使う
- .NET 4.5 + Windows Store ポータブルライブラリのサポート – すなわち F# は、“.NET 4.5 + Windows Store” 用に作られたC#のポータブルライブラリが使え、替わるに F# はそのプロファイル用のアセンブリを生成できる。
多世代のチームでVisual Studioを使用しているF#開発者への大きな追加は、プロジェクトのラウンドトリップのサポートの追加だ。F#3.0を対象にした全てのF#プロジェクトは、VS2012あるいはVS2013のどちらかで編集することができる。この追加と同時に、開発中のアプリケーションがターゲットにするF#のバージョンをF#のプロジェクトダイアログ または、ソリューションエクスプローラで指定する機能が加わった。
ユーザーは、今日VS2013プレビューを使ってF#3.1にアクセスできる。前述の3.1の機能強化はまだオープンソース版(OS X, Linuxなどの幾つかの非Windowsプラットフォームをサポートしている)では使用できないことに注意してほしい。F#開発者は、3.1のフィーチャが完成したら、OSSプロジェクトにリリースする、と言っている。