Skip to main content
QUICK REVIEW

[論文レビュー] Implicit Polarized F: local type inference for impredicativity

Henry Mercer, Cameron Ramsay|arXiv (Cornell University)|Mar 3, 2022
Logic, programming, and type systems被引用数 4
ひとこと要約

この論文は、呼び出し順序プッシュ値の双対性を活用して、統合化の必要のない局所的型推論を可能にする、インプリシット極性Fという、System Fにおける非予測的多相性のための新規型推論システムを紹介する。明示的な極性シフトを用いてSystem Fを再定式化することで、決定可能で記述的な型推論が達成され、既存のヒューリスティクスの起源を自然に説明でき、最小限の複雑さで完全な非予測的多相性をサポートする。

ABSTRACT

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction. Unfortunately, type applications need to be implicit for a language to be human-usable, and the problem of inferring all type applications in System F is undecidable. As a result, language designers have historically avoided impredicative type inference. We reformulate System F in terms of call-by-push-value, and study type inference for it. Surprisingly, this new perspective yields a novel type inference algorithm which is extremely simple to implement (not even requiring unification), infers many types, and has a simple declarative specification. Furthermore, our approach offers type theoretic explanations of how many of the heuristics used in existing algorithms for impredicative polymorphism arise.

研究の動機と目的

  • 完全な型推論の不決定性に起因するSystem Fにおける、非予測的インスタンス化のための明示的型適用の必要性に対処すること。
  • 完全な非予測的多相性をサポートするが、明示的な型注釈を必要としない、実用的で人間が読みやすい型推論システムの開発。
  • ヒューリスティクス技術が既存のシステムですでに使われている理由を説明する、明確で記述的な型推論の指定。
  • 呼び出し順序プッシュ値における極性シフトが、引数リストの構造を自然に捉え、局所的推論を可能にすることの証明。
  • 極性境界が適切に制御されていれば、関数型の反変性を放棄する必要がなく、決定可能性を達成できることの示唆。

提案手法

  • 呼び出し順序プッシュ値の双対性を用いてSystem Fを再定式化し、極性境界を示す明示的なシフトを導入する。
  • シフトと極性の変化の構造を分析することで、型適用を局所的に推論するアルゴリズムを導入する。
  • 全称型の特殊化順序を尊重する記述的サブタイプ関係を用い、インスタンス化の意味を反映する∀Lおよび∀Rの規則を導入する。
  • 合成とチェックの判断を分離する双方向型チェックスタイルを採用するが、未統合で局所的な型推論を実現する。
  • 型インスタンス化をシフトの存在によって表現し、非予測的インスタンス化が発生可能な場所を制限する。
  • 非アルゴリズム的推論仕様を提供し、特定のヒューリスティクス(例:最初に遭遇した制約で量子化子をインスタンス化する)が型理論的構造から自然に生じることを説明する。

実験結果

リサーチクエスチョン

  • RQ1非予測的型推論を、完全な多相性を損なわず、決定可能かつ実用的に行うにはどうすればよいか?
  • RQ2既存のヒューリスティクス的手法(例:最初の制約でインスタンス化する)がなぜ機能するのか、その理論的根拠は何か?
  • RQ3非予測的関数における引数リストの構造に、原理的型理論的説明を与えることは可能か?
  • RQ4決定可能性を達成するためには、関数型の反変性を放棄する必要があるのか、それとも維持できるのか?
  • RQ5複雑な推論アルゴリズムの挙動を説明する記述的型推論仕様を提示できるか?

主な発見

  • 提案されたシステムは、未統合で、実装が極めて簡単である型推論アルゴリズムを用いて、完全な非予測的多相性を達成する。
  • アルゴリズムは記述的に指定されており、標準的な不決定的仕様が成功するすべてのケースで正しく型を推論する。
  • 構文に明示的なシフトが存在することで、引数リストが推論に不可欠であることが自然に説明される。これは極性境界を示すからである。
  • 本手法により、先行研究で関数型の反変性を制限する必要が生じる理由が、反変性そのものではなく、極性境界の制御不能な越え越えに起因することが明確になる。
  • 最初に遭遇した制約で量子化子をインスタンス化するといったヒューリスティクス戦略が、シフトと極性の型理論的構造から自然に生じることが示される。
  • ボクシータイプやHMFの挙動に、極性型理論からの自然な誘導を提供する原理的説明が得られる。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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