F#の設計と妥協点 - .NET上で実現する関数型パラダイム by 猪股 健太郎

関数型まつり2025
採択
公募セッション50分
公募セッション Beginner Intermediate 言語処理系

F#の設計と妥協点 - .NET上で実現する関数型パラダイム

猪股 健太郎
2

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Beginner: 分野の前提知識を必要としない
  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • 言語処理系(コンパイラー、インタープリターなど)

セッションの概要

F#は.NETプラットフォーム上で実装された実用的な関数型言語です。本セッションでは、F#の言語設計における特徴的な選択と制約について解説します。

まず、非純粋関数型言語としてのF#の特徴を説明します。副作用の扱い方、関数型の機構とオブジェクト指向プログラミングの共存、そして実用性を重視した設計判断について概観します。

次に、F#独自の機能であるコンピュテーション式と非同期処理を取り上げます。HaskellのMonadやScalaのfor式との比較を交えながら、DSLとしての表現力や、非同期プログラミングモデルの特徴を示します。

最後に、.NETプラットフォームがF#の型システムに与える影響と制約について説明します。メソッドオーバーロードと型推論の相互作用、高カインド型の欠如、そしてそれらの制約に対する解決策としてのSRTPなど、実践的な観点から解説します。