paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Qualifying System F<sub>&lt;:</sub>: Some Terms and Conditions May Apply

限定 System F<::某些条款与条件可能适用
OOPSLA 8(OOPSLA1)2024匹配度 2/10 · 该论文属于纯类型系统理论研究,关注 type qualifier 与高阶有界多态的结合,虽与 PL/静态分析基础相关,但未涉及用户核心方向中的 AI/LLM、Agentic 程序、浮点程序分析或贝叶斯程序分析。引用 1 inbox
Edward Lee, Yaoyu Zhao, Ondřej Lhoták, James You, Kavin Satheeskumar, Jonathan Immanuel Brachthäuser
crossref: 2026-09-10

AI 速览

一句话:构建 System F-sub-Q,将高阶有界多态与类型限定符理论结合,并用于引用不可变性、函数着色与捕获检查。

类型限定符(type qualifier)是一种轻量机制,可在既有类型系统上强制额外的程序不变式,其本质是受限的子类型。虽然类型限定符理论已较成熟并应用于多种语言,但关于类型限定符的多态性仍研究不足。本文构建演算 System F-sub-Q,将 System F-sub 的高阶有界多态与类型限定符理论结合起来,研究此类多态系统如何自然产生。作者进一步把构造该演算的思想复用到引用不可变性、函数着色和捕获检查等场景,并在 System F-sub-Q 的视角下重新审视文献中的其他限定符系统。

问题
类型限定符虽可用于强化类型系统,但对其多态性缺乏系统研究;本文要回答如何将高阶有界多态与类型限定符理论统一为演算。
方法
构造 System F-sub-Q 演算,结合 System F-sub 的高阶有界多态与类型限定符;并将该构造思路迁移到引用不可变性、函数着色与捕获检查。
评估
评估以理论构造与案例研究为主:展示 System F-sub-Q 的构造及其在多个限定符场景中的复用,并据此重新审视其他限定符系统。
原文摘要(Abstract)

Type qualifiers offer a lightweight mechanism for enriching existing type systems to enforce additional, desirable, program invariants. They do so by offering a restricted but effective form of subtyping. While the theory of type qualifiers is well understood and present in many programming languages today, polymorphism over type qualifiers remains an area less well examined. We explore how such a polymorphic system could arise by constructing a calculus, System F-sub-Q, which combines the higher-rank bounded polymorphism of System F-sub with the theory of type qualifiers. We explore how the ideas used to construct System F-sub-Q can be reused in situations where type qualifiers naturally arise---in reference immutability, function colouring, and capture checking. Finally, we re-examine other qualifier systems in the literature in light of the observations presented while developing System F-sub-Q.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2536,
  title = {Qualifying System F<sub>&lt;:</sub>: Some Terms and Conditions May Apply},
  author = {Edward Lee and Yaoyu Zhao and Ondřej Lhoták and James You and Kavin Satheeskumar and Jonathan Immanuel Brachthäuser},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649832}
}