paperbot · PL 论文追踪

RSS

Staged Compilation with Module Functors

ICFP 8(ICFP)2024引用 4
Tsung-Ju Chiang, Jeremy Yallop, Leo White, Ningning Xie

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Multi-stage programming has been used in a wide variety of domains to eliminate the tension between abstraction and performance. However, the interaction of multi-stage programming features with features for programming-in-the-large remains understudied, hindering the full integration of multi-stage programming support into existing languages, and limiting the effective use of staging in large programs. We take steps to remedy the situation by studying the extension of MacoCaml, a recent OCaml extension that supports compile-time code generation via macros and quotations , with module functors, the key mechanism in OCaml for assembling program components into larger units. We discuss design choices related to evaluation order, formalize our calculus via elaboration, and show that the design enjoys key metatheoretical properties: syntactic type soundness, elaboration soundness, and phase distinction. We believe that this study lays a foundation for the continued exploration and implementation of the OCaml macro system.

链接与引用

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

BibTeX
@article{ChiangYWX24,
  title = {Staged Compilation with Module Functors},
  author = {Tsung-Ju Chiang and Jeremy Yallop and Leo White and Ningning Xie},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {ICFP},
  year = {2024},
  doi = {10.1145/3674649}
}