なぜ型推論が必要なのか

インスタンス関係の実装さえあれば、関数適用の都度、実引数の評価値を検査すればいい。それに、多相なんぞ面倒臭いことを実装する必要もない。なんで必要なのか。

実引数の値を型検査すると、膨大な値をすべて走査しなくてはいけなくなる

型推論器がやること

型推論アルゴリズム

型推論例

[(+ 1 2) 3] -- [Num 3]
_|_ -- _
(=> x:(+ 1 2) x) -- (-> [3] 3)