式と文に明確な定義があるのかは不明だが、少なくとも「式は値を持つ」が「文は値を持たない」と思う。
式の型の確認
- :t で型を確認できる
- :: の記号は「〜の型を持つ」と読む
Prelude> :t 'a'
'a' :: Char
関数headは「任意の型のリストを引数に取り、その型の要素を一つ返す」と読む
Prelude> :t head
head :: [a] -> a
型クラス
- 型クラスは何らかの振る舞いを定義するインタフェース
- 型クラスは関数(メソッド)の集まり
- 型はある型クラスのインスタンス
- 型はある型クラスの記述する振る舞いを実装する