環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」第07章 メモ この辺で、言葉の定義がよくわからなくなっていたので、まとめてみた。 言葉 説明 例 型変数 関数の明示的な型宣言に使われる どんな型も取り得る事を意味する head :: [a] -> a この「a」の事を型変数とよぶ 型クラス 何らかの振る舞いを定義するインターフェース class Eq a where この「Eq」を型クラスと呼ぶ インスタンス 型クラスが記述する振る舞いを実装したもの instance Eq a where 型aをEqのインスタンスとして実装する 型クラス制約 関数定義の際に、型変数に対して型クラスのインスタンスである事を定義する (==) :: Eq a => a -> a -> Bool このとき「Eq a =>」が型クラス制約となる aはEq型クラスのインス