: 型推論アルゴリズム
: 型推論
: 型推論
- Hindley-Milner 型推論アルゴリズムは,陽に型指定をせずに,
多相プログラムを書くことができる.そして陽に型づけされたプ
ログラムに変換する.
- アルゴリズムを説明するために,ImplicitPoly-Tiger
(文法 16.9 では,
陽に型を指定しないことを除けば Poly-Tiger に似ている).
- この言語は,ML プログラミング言語の重要な概念のいくつかをモデル
化する.
- Poly-Tiger になく,ImplicitPoly-Tiger における関数宣言は,
引数の型をリストしない.つまり
リストを書かない.
- また ImplicitPoly-Tiger では,型推論アルゴリズムにより内部的に,
推論されうるので,陽に poly 型を書くことができない.
- 型引数リストを書くことなしに, 関数呼び出しとレコード生成を書く
ことができる.
- しかし,( list<e> の宣言のような) 型宣言は,陽に型パ
ラメータを書き,陽に型付けされたレコードフィールドを書く.
ImplicitPoly-Tiger の変換
- Poly-Tiger の型と型宣言を変換するためのアルゴリズム 16.7 は,
ImplicitPoly-Tiger にも適用することができる.しかし poly 型のた
めの最後の規則は必要ない.
- 関数宣言と式の型チェックは,むしろ異なっている.
アルゴリズム 16.8 を使うことはできないので,代わりに
16.10 を使う.
平成12年8月22日