注意:このシリーズを読む前に、「関数型思考」と「式と構文」シリーズを前提知識として読むことをおすすめします。
F#は関数だけでなく、強力な型システムも重要な特徴です。関数と同じく、型システムを理解することが、この言語に習熟し快適に扱うためのカギとなります。
これまでに、関数の入出力に使える基本的な型をいくつか見てきました。
int
、float
、string
、bool
などのプリミティブ型int->int
のような単純な関数型unit
型- ジェネリック型
これらの型は、どれも見慣れないものではないでしょう。C#や他の命令型言語にも、似たような型があります。
しかし、このシリーズでは、関数型言語では一般的だけれど命令型言語ではあまり見かけない、新しい種類の型を紹介します。
このシリーズで取り上げる拡張型は以下の通りです:
- タプル
- レコード
- 判別共用体
- オプション型
- 列挙型
これらの型について、抽象的な原理と実践的な使い方の両方を説明します。
リストや他の再帰的なデータ型も非常に重要ですが、説明することが多いので、別のシリーズで扱う予定です!