const id は第2引数を返します。その理由がわかりませんでした。 *Main> :t const id const id :: b -> a -> a *Main> const id 1 2 2 理由を説明した Webページをいくつか読みましたが、それでも理解できず(x_x;)。 基本に立ち返ると、次の2つを理解していなかった模様。 関数の適用は、すべての演算の中で最も高い優先度をもつ。 関数の引数に関数をとることができる。 なので、 const id 1 2 は、「関数の適用は、すべての演算の中で最も高い優先度をもつ」ので、id関数の適用(id 1)を考えるのではなく、まずconst関数の適用を考えます。この関数は引数を2つとります。なので、括弧を使うと、 (const id 1) 2 となります。「関数の引数に関数をとることができる」ことから、idは、constの(第1)引数とな