Haskell/型クラス
型クラスは、何らかの振る舞いを定義するインターフェース。
型クラスは関数の集まりであり、型クラスのインスタンスは関数の実装をする。
1つの型は複数の型クラスのインスタンスになることができる。
型クラス | 説明 |
---|---|
Eq | 等値性をテストするための型クラス。 Eqのインスタンスが実装すべき関数は==と/=。 |
Ord | 何らかの順序を付けられる型のための型クラス。 標準的な大小比較関数、>、<、>=、<=を提供している。 戻り値に使われるOrderingという型はGT、LT、EQのいずれかの値を取る。 |
Show | インスタンスの型の値を文字列として返す。 |
Read | 文字列をインスタンスの型の値として返す。 |
Enum | 要素の値を列挙できる型クラス。利点はレンジが使えること。 後者関数succと前者関数predも定義されている。 |
Bounded | 上限と下限を持ち、それぞれminBoundとmaxBound関数で調べることができる。 |
Num | 数の型クラス。数は同じ型クラスの任意のインスタンス(Int、Floatなど)として 振る舞うことができる。(多相定数という) |
Floating | 浮動小数点数の型クラス。FloatとDoubleが含まれる。関数はsin、cosなど。 |
Integral | 整数のみの数の型クラス。IntとIntegerが含まれる。 |