レコードによる構造記述 その2
- 型ヒントという概念を導入する。型ヒントは Hint{name1: typeList1, ..., nameN: typeListN} という形。
- 型ヒントを使って、termの型を推論する。
- ここのtermは、「レコードterm=レコードインスタンス」であってよい。
- 型コンテキストは、型ヒントの特殊なものとみなせる。すべての型リストが長さ1の型ヒントが型コンテキスト。
- 型コンテキストとレコード型を同一視する。
- レコード型=型コンテキストとレコードインスタンスの中間に抽象レコードがある。
- 抽象レコードはコンストラクタとみなす。
- コンストラクタは型チェッカーと同一視する。
- コンストラクタはエラーを出すベキ等な写像である。
- インスタンスと引数なしコンストラクタも同一視するが、これは難しい。
- モジュール=レコード(インスタンス、抽象レコード、レコード型)
残る概念は、