このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

レコードによる構造記述 その2

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

残る概念は、