最近やったことを振り返ってみると ランク2多相とかランクN多相を理解する Haskellの関数従属とは「ある型が決まれば別の型が一意に決まる」という依存関係のこと Haskellの一般化代数データ型(GADT) HaskellのType Familiesがわからんよ(改めわかった) 型推論のための知識ばかりじゃないかと。メタな知識がないとまともなコード書けないってことか、コード書くのには必要ない余計な知識を詰め込んだのか(多分前者だと思うけど)。 Haskell の型システムは2つの重要 な特性を発揮します。ひとつめは、正しく型付けされた式はいづれも唯一の主型 (これについては下で説明します)を持つことが保証されるということです。ふた つめはこの主型は自動的に推論できるものであるということです(§4.1.3)。Cのように単 態型を用いる言語と比較すると、多相性のある言語では表現力がアップし