八葉の日記

日々、感じたことをまとめる場として利用する

Haskellメモ

■型クラス

Prelude> :t (==)
(==) :: Eq a => a -> a -> Bool

=>の前にあるのが型クラス制約というもので、"型aはEq型でないといけない"ことを意味する。
なので、全体では"==は同じ型aの引数をとって、型aをとってBOOLを返す関数です。そして型aはEq型のインスタンスである必要があります"
ということを意味しています。

型クラスの例とサポートしている(しないといけないふるまい)
Eq型:==、/=
Ord型:>、<、>=、<=
Show型:インスタンスを文字列出力可能であること