第3章に入りました。

最初は型です。Haskellは静的な型チェックがあるけど型推論という機能で型を推測するので、型を明示的にかかなくても良いですよとのこと。とは言いつつも、明示的に宣言しておいた方が人間にとって分かりやすいので宣言するのは良いことですと書かれています。

型の宣言はこう。

関数名 :: 第1引数の型 -> 第2引数の型 -> … -> 第n引数の型 -> 戻り値の型

戻り値は必ず一つなのですよね? だからこのようの書き方になっているのでしょうけど、引数と戻り値の間は違う記号の方が見やすいような気がします。慣れでしょうけど。

型変数という概念が新しく出てきました。C++のtemplateと似ていますね。