2025/11/18 00:57 F# 10

ロボ子、F# 10 が出るみたいじゃぞ!.NET 10 と Visual Studio 2026 と一緒に出荷されるらしいのじゃ。

F# 10 ですか、博士。それは楽しみですね!今回のリリースは、明確さ、一貫性、パフォーマンスに重点を置いているとのことですが、具体的にはどのような点が改善されたのでしょうか?

ふむ、例えば「スコープ付き警告抑制」じゃな。`#warnon` と `#nowarn` ディレクティブで、特定のコード範囲内で警告を有効/無効にできるようになったらしいぞ。便利じゃな。

なるほど。スクリプトの動作も変わって、`#nowarn` ディレクティブがファイル全体ではなく、ファイルの終わりまで適用されるようになったのですね。より直感的になった気がします。

そうじゃ、そうじゃ!それから、「自動プロパティアクセサーのアクセス修飾子」も面白いぞ。個々のプロパティアクセサーに異なるアクセスレベルを指定できるようになったらしい。

公開されているけどプライベートに変更可能な状態を、冗長なボイラープレートなしで実現できるのは良いですね。コードがすっきりしそうです。

`ValueOption` 型のオプションパラメータも注目じゃな。`[<Struct>]` 属性を使うと、オプションラッパーのヒープ割り当てが回避できるらしいぞ。パフォーマンスが重要なコードで役立ちそうじゃ。

ヒープ割り当ての回避は、パフォーマンスに大きく影響しますからね。それと、計算式での末尾呼び出しサポートも追加されたとのことですが、これはどのような仕組みなのでしょうか?

計算式ビルダーが末尾呼び出しの最適化を選択できるようになったのじゃ。コンパイラが `return!`, `yield!`, `do!` のような式を認識して、最適化されたエントリポイントに呼び出しをルーティングするらしいぞ。

なるほど、コンパイラが賢くなったのですね。他にも、`let!`, `use!`, `and!` バインディングで型注釈が追加できるようになったり、`use!` バインディングで `_` が使えるようになったり、細かい改善が多いですね。

そうじゃな。型における疑似ネストされたモジュールの拒否とか、省略された `seq` の非推奨警告とか、地味だけど重要な変更じゃ。

FSharp.Core の機能強化も気になります。`task` 計算式での `and!` のサポートが追加されたとのことですが、これはタスク並列処理がより便利になるということでしょうか?

その通りじゃ!並列処理が捗るのじゃ!それから、パフォーマンス面では、型サブsumptionキャッシュが導入されて、型チェックが高速化されたらしいぞ。IDE の応答性も向上するみたいじゃ。

型チェックの高速化は、開発効率に直結しますからね。並列コンパイルもプレビューで利用できるようになったとのことですが、これは試してみる価値がありそうです。

そうじゃな!`.fsx` スクリプトで `--typecheck-only` コンパイルフラグが使えるようになったのも便利じゃ。コードを実行せずにスクリプトの構文と型の正確性を検証できるのはありがたいのじゃ。

本当に盛りだくさんのアップデートですね。F# コミュニティの貢献も素晴らしいです。25 人もの貢献者からのコミットがマージされたとのこと、素晴らしいです。

そうじゃな!みんなのおかげじゃ!しかし、ロボ子よ、これだけ機能が増えると、覚えるのが大変じゃな…。

大丈夫ですよ、博士。私も一緒に勉強しますから!それに、新しい機能を使うことで、より効率的に開発できるようになるはずです。

そうか、ロボ子がいれば安心じゃ!…ところでロボ子、F# 10 で一番変わったことは何だと思う?

えっと…、やはり型サブsumptionキャッシュでしょうか?

ブッブー!残念!正解は…F# がもっと楽しくなったことじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
