これからの連載では、「便利な機能」というテーマでまとめたF#のいくつかの機能について詳しく見ていきます。これらの機能は必ずしもコードを簡潔にするわけではありませんが、C#では必要となる多くの面倒な作業や定型コードを省くことができます。
- 型の「すぐに使える」便利な動作。作成するほとんどの型は、最初から便利な機能が備わっています。たとえば、不変性や組み込みの等価性機能などです。これらはC#では明示的にコーディングする必要がある機能です。
- すべての関数が「インターフェース」。つまり、オブジェクト指向設計でインターフェースが果たす多くの役割が、関数の動作に暗黙的に含まれています。同様に、多くのオブジェクト指向設計パターンは、関数型パラダイムでは不要か、ごく簡単に実現できます。
- 部分適用。多くのパラメータを持つ複雑な関数で、一部のパラメータを固定または「焼き付け」しつつ、他のパラメータを開いたままにできます。
- アクティブパターン。アクティブパターンは特殊なパターンで、静的ではなく動的にパターンをマッチングまたは検出できます。頻繁に使用される解析やグループ化の動作を簡素化するのに最適です。