paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Dependent type systems as macros

作为宏的依赖类型系统
POPL 4(POPL)2019匹配度 2/10 · 论文聚焦于用宏构建依赖类型语言与证明助手的元编程框架,属于 PL/形式化验证工具构建,但未涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析等用户核心交叉方向,仅有间接的形式化验证相关性。引用 8 inbox
Stephen Chang, Michael Ballantyne, Milo Turner, William J. Bowman
crossref: 2026-09-10

AI 速览

一句话:提出 Turnstile+:用宏实现依赖类型系统的高层元 DSL,支持快速原型化依赖类型语言与证明助手扩展。

本文提出 Turnstile+,一个基于宏的高层元 DSL,用于构建依赖类型语言。其动机是依赖类型语言及其新特性的设计与实现通常繁重,难以快速原型和迭代。Turnstile+ 采用语言导向编程,将依赖类型系统实现为宏,使程序员能快速试验新的依赖类型特性与扩展,或定制领域专属的依赖类型 DSL;同时支持相互作用的组件系统,如证明助手及其配套 DSL。论文介绍了实现细节,并展示该框架可用于构造从带索引类型的轻量语言到完整证明助手(含 tactic 系统、sized types 和 SMT 交互等扩展)的多种依赖类型语言。

问题
依赖类型语言及新特性的实现成本高、迭代慢,缺少快速原型与定制领域 DSL 的手段。
方法
提出 Turnstile+,一个基于宏的高层元 DSL,以语言导向编程把依赖类型系统实现为宏,并支持组件化交互。
评估
通过阐述实现细节并展示多个案例,从带索引类型的轻量语言到含 tactic、sized types 与 SMT 交互的完整证明助手。
原文摘要(Abstract)

We present Turnstile+, a high-level, macros-based metaDSL for building dependently typed languages. With it, programmers may rapidly prototype and iterate on the design of new dependently typed features and extensions. Or they may create entirely new DSLs whose dependent type ``power'' is tailored to a specific domain. Our framework's support of language-oriented programming also makes it suitable for experimenting with systems of interacting components, e.g., a proof assistant and its companion DSLs. This paper explains the implementation details of Turnstile+, as well as how it may be used to create a wide-variety of dependently typed languages, from a lightweight one with indexed types, to a full spectrum proof assistant, complete with a tactic system and extensions for features like sized types and SMT interaction.

链接与引用

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

BibTeX
@article{paperbot517,
  title = {Dependent type systems as macros},
  author = {Stephen Chang and Michael Ballantyne and Milo Turner and William J. Bowman},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3371071}
}