Aggressive type inference
International Python Conference 2000 (Python8)
Giving people a dynamically-typed language does not mean that they write dynamically-typed programs.
という方向性のもと、flow-insensitiveな型を求めることを目標にする。
与えられたプログラムを元に、スコープの定義、代入、演算などのみに削ぎ落したものを作る。これによって型の等号制約が求まるので、これを元に型を決めていく。
nekketsuuu.icon 論文ではunionも求めるみたいに書いてあったけど、そうであれば不等号制約も必要なはず。
nekketsuuu.icon このままだと動的にメソッド定義する部分とかは扱えないはず。