一句话:提出可扩展语言的模块化元理论方法,按语言片段分解证明并对扩展做通用推理,并实现于 Sterling/Extensibella。
论文研究可扩展语言的元理论:语言由宿主语言与开放扩展库中的独立组件组合而成,静态分析(如类型)和动态语义(如求值)以分散在组件中的规则式关系描述,元理论性质则用关于这些关系的公式表达。为支持模块化元理论,作者提出按语言片段分解证明,并基于对扩展行为的事先约束进行通用推理;在最小不动点定义构成的逻辑中,证明可自动构造任一组件的组合。实现于语言规范系统 Sterling 和证明助手 Extensibella,并用示例验证。
This article concerns the development of metatheory for extensible languages. It starts with the view that programming languages tailored to specific application domains are to be constructed by composing components from an open library of independently-developed extensions to a host language. In this context, static analyses (such as typing) and dynamic semantics (such as evaluation) are described via relations whose specifications are distributed across the host language and extensions and are given in a rule-based fashion. Metatheoretic properties, which ensure that static analyses accurately gauge runtime behavior, are represented by formulas over such relations. These properties may be fundamental to the language or they may pertain to analyses introduced by individual extensions. We consider the problem of modular metatheory , by which we mean that proofs of relevant properties should be constructible by reasoning independently within each component in the library. To solve this problem, we propose the twin ideas of decomposing proofs around language fragments and of reasoning generically about extensions based on broad, a priori constraints imposed on their behavior. We establish the soundness of these styles of reasoning by showing how complete proofs of the properties can be automatically constructed for any language obtained by composing the independent parts. Precision in these arguments results from framing them within a logic that encodes inductive, rule-based specifications via least fixed-point definitions. We have implemented our ideas in a language specification system called Sterling and a proof assistant called Extensibella and have used them to validate the examples that motivate the theoretical discussions.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@article{abs-2312-14374,
title = {A Modular Approach to Metatheoretic Reasoning for Extensible Languages},
author = {Dawn Michaelson and Gopalan Nadathur and Eric Van Wyk},
journal = {ACM Transactions on Programming Languages and Systems},
volume = {47},
number = {3},
year = {2025},
doi = {10.1145/3731555}
}