Skip to main content
QUICK REVIEW

[論文レビュー] Kind Inference for Datatypes: Technical Supplement

Ningning Xie, Richard A. Eisenberg|arXiv (Cornell University)|Nov 11, 2019
Logic, programming, and type systems参考文献 50被引用数 4
ひとこと要約

この技術的補足は、可視依存的全称量化(VDQ)、データ型の昇格、部分型シグネチャを含む高度な機能を持つHaskellのデータ型における種類推論を形式化する。形式的な型システム、型付け規則、置換意味論、および主性や型安全性といった主要な性質の証明を提示し、GHC風のシステムにおける複雑な型レベル構造の存在下でも、整合的かつ拡張可能な種類推論を可能にする。

ABSTRACT

In recent years, languages like Haskell have seen a dramatic surge of new features that significantly extends the expressive power of their type systems. With these features, the challenge of kind inference for datatype declarations has presented itself and become a worthy research problem on its own. This paper studies kind inference for datatypes. Inspired by previous research on type-inference, we offer declarative specifications for what datatype declarations should be accepted, both for Haskell98 and for a more advanced system we call PolyKinds, based on the extensions in modern Haskell, including a limited form of dependent types. We believe these formulations to be novel and without precedent, even for Haskell98. These specifications are complemented with implementable algorithmic versions. We study soundness, completeness and the existence of principal kinds in these systems, proving the properties where they hold. This work can serve as a guide both to language designers who wish to formalize their datatype declarations and also to implementors keen to have principled inference of principal types. This technical supplement to Kind Inference for Datatypes serves to expand upon the text in the main paper. It contains detailed typing rules, proofs, and connections to the Glasgow Haskell Compiler (GHC).

研究の動機と目的

  • 可視依存的全称量化(VDQ)、データ型の昇格、部分型シグネチャなどの高度な型レベル機能を備えたHaskellデータ型における種類推論を形式的に規定すること。
  • 型付け判断と依存関係解析を拡張し、型内でのデータコンストラクタの取り扱いや種類レベルの依存関係を処理できること。
  • 形式的計算機の中で、種類推論システムの主要なメタ理論的性質(主性や型安全性など)を証明すること。
  • 理論的種類推論とGHCにおける実装の間のギャップを埋め、正しさと拡張性を保証すること。

提案手法

  • 種類推論のための形式的型システムを導入し、多相的および依存的種類を処理できるようにコア規則を拡張した型付け判断を定義する。
  • 種類変数のインスタンス化と依存関係を追跡するためのコンテキストΘを用いた置換ベースの意味論を定義する。
  • 型内でのデータコンストラクタの使用を扱えるように依存関係解析を拡張し、コンストラクタが型レベル式に現れる場合でも正しい種類推論を保証する。
  • 依存的型変数の明示的種類注釈を要求することで、可視依存的全称量化をサポートし、推論における曖昧さを回避する。
  • 遅延解決を可能にする制約ベースのアプローチを用い、GHCの既存の制約解決アーキテクチャとの統合を可能にする。
  • 構造的帰納法と置換補題を用いて主性を証明し、種類の割り当てが一意かつ決定的であることを保証する。

実験結果

リサーチクエスチョン

  • RQ1可視依存的全称量化をデータ型宣言でサポートするために、種類推論をどのように整合的に拡張できるか?
  • RQ2型内でのデータコンストラクタの使用を可能にするために、型付けおよび依存関係解析の規則にどのような変更が必要か?
  • RQ3種類注釈付きの部分型シグネチャを、多相的再帰を損なわずに種類推論プロセスに統合する方法は何か?
  • RQ4これらの高度な機能をサポートする種類推論システムに対して、主性や型安全性といった形式的保証をどのように証明できるか?
  • RQ5提案されたシステムは、GHCの既存の制約ベースの型推論アーキテクチャとどのように統合されるか?

主な発見

  • 可視依存的全称量化を備えたデータ型の種類が正しく推論され、依存的変数が明示的に宣言され、適切にスコープに制限されている。
  • コンストラクタレベルの依存関係を追跡する拡張された依存関係解析により、型内でのデータコンストラクタの使用がサポートされている。
  • 種類注釈付きの部分型シグネチャは、種類変数をスコープに持ち込むように変更された型付け規則によって処理され、型安全性が保たれている。
  • 種類推論の主性が証明されている:もし種類が導出可能であれば、それは一意な最も一般な種類である。
  • 形式的システムはGHCの制約ベースの推論と互換性があり、正しさと型安全性を保ちつつ、遅延制約解決を可能にする。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。