Skip to main content
QUICK REVIEW

[論文レビュー] Gradual System F

Elizabeth Labrada, Matías Toro|arXiv (Cornell University)|Jul 12, 2018
Logic, programming, and type systems参考文献 47被引用数 27
ひとこと要約

この論文は、関係的パラメトリシティを保持しながら静的型付けと動的型付けの両方をサポートする、System Fの段階的変種であるGradual System F (GSF) を導入する。抽象的段階的型付け(AGT)手法をSystem Fの変種に適用することにより、GSFはパラメトリシティ、型安全性、静的から動的型付けへのなめらかな移行の間で独自のバランスを達成するが、完全な動的段階的保証を放棄して、依然として意味のあるより弱いバージョンを採用している。

ABSTRACT

Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several designs have been recently proposed, with varying syntax, behavior, and properties. Starting from a detailed review of the challenges and tensions that affect the design of gradual parametric languages, this work presents an extensive account of the semantics and metatheory of GSF, a gradual counterpart of System F. In doing so, we also report on the extent to which the Abstracting Gradual Typing methodology can help us derive such a language. Among gradual parametric languages that follow the syntax of System F, GSF achieves a unique combination of properties. We clearly establish the benefits and limitations of the language, and discuss several extensions of GSF towards a practical programming language.

研究の動機と目的

  • この論文の目的は、長年の課題である段階的型付けとパラメトリック多態性を組み合わせつつ関係的パラメトリシティを保つことである。
  • System Fに保守的に拡張する段階的パラメトリック言語を設計する際の本質的設計的対立を調査することである。
  • GSFの形式的意味論とメタ理論を構築し、静的および動的型安全性を両立させることである。
  • 段階的言語におけるパラメトリシティと動的段階的保証の間のトレードオフを明確にすることである。
  • GSFがシーリングプリミティブを備えた動的型付けプログラムを忠実に埋め込めるようにすることを示すことである。

提案手法

  • 著者たちは、System Fの変種からGSFを導出するために抽象的段階的型付け(AGT)手法を適用し、体系的な構築を保証する。
  • 言語の構文に基づいた静的意味論を定義し、型注釈を保持する形でSystem Fの構造を保ったままにしている。
  • 動的意味論はキャスト計算を用いて構築され、実行時チェックが明示的なキャストを通じて型の一貫性を強制する。
  • 不正確な型に対する明示的な型インスタンス化を導入することで、System Fωへの拡張を可能にし、相互運用性を向上させている。
  • GSFが満たす弱い形の動的段階的保証を形式化しているが、パラメトリシティ制約のため完全なバージョンを放棄している。
  • 明示的な型インスタンス化を用いた多態性の新規な取り扱いにより、型付きと型なしコード間のより良い相互運用性が可能になっている。

実験結果

リサーチクエスチョン

  • RQ1段階的パラメトリック言語として、関係的パラメトリシティを保持しながら静的型付けと動的型付けの両方をサポートするにはどうすればよいか?
  • RQ2System Fに類似した言語において、パラメトリシティを維持しつつ動的段階的保証を満たすという点で、どのような本質的設計的対立が生じるか?
  • RQ3GSFは、SumiiとPierce(2004)が提示したようなシーリングプリミティブを備えた動的型付けプログラムをどの程度忠実に埋め込めるか?
  • RQ4AGT手法は、型安全性や動作的性質を満たすSystem Fの段階的変種を効果的に導出するために適用可能か?
  • RQ5GSFにおける明示的型インスタンス化の制限は何か、そしてそれらはどのように言語拡張によって緩和できるか?

主な発見

  • GSFは関係的パラメトリシティを忠実に保持しており、これは多態的関数がすべての型に対して一様に振る舞うことを保証する重要な意味的性質である。
  • 言語は弱い形の動的段階的保証を満たしており、他のSystem Fに基づく段階的言語よりも強い。
  • GSFはSystem Fの保守的拡張を実現でき、動的型付けプログラム(特にシーリングプリミティブを備えたもの)を忠実に埋め込める。
  • GSFにおける型インスタンス化の明示的取り扱いにより、従来のアプローチよりも型付きと型なしコード間の相互運用性が向上している。
  • 著者たちは、完全なパラメトリシティを維持する必要があると、完全な動的段階的保証を満たせないというトレードオフが生じることを特定したが、弱いバージョンは達成可能であり、十分に有用である。
  • 存在型のサポートや型付き・型なしコード間相互運用のための新規技術といったGSFの拡張は、その拡張可能性と実用的潜在能力を示している。

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

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

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

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