型推論
型は「型検査」をするのに便利だが、一方で「あらゆる所に型を書かなければならない」という記述性の低さをもたらす。 型はテンプレートを使うようになると、長くなりがちで、何度も書く事は望ましくない。
Java であれば、以下のような構文が頻繁に現れてしまう。
code:new.java
ArrayList<Foo> fooList = new ArrayList<Foo>();
生成されたオブジェクトの型が明確で、受け取る変数などで型検査をする必要がないのであれば、変数宣言時には型を書かずに推論させてしまおうというのが型推論の考え方である。
code:type.java
var foo = new ArrayList<Foo>();
型推論は、トップダウンで行う方法とボトムアップで行う方法とがある。