旧物焕新:引号式领域特定语言
编程语言
2015-08-05 v2
摘要
我们描述了一种领域特定语言(DSL)的新方法,称为引号式 DSL(QDSL),它复兴了两个旧思想:源自 1960 年 McCarthy 的 Lisp 的引号机制,以及源自 1935 年 Gentzen 自然演绎的子公式性质。引号项允许 DSL 共享宿主语言的语法和类型系统。对引号项进行规范化可确保子公式性质,这保证了可以在源语言中使用高阶类型,同时确保目标语言中为低阶类型,并使得利用类型来指导融合成为可能。我们通过将最初作为嵌入式 DSL(EDSL)实现的 Feldspar 重新实现为 QDSL 来测试我们的想法;并对 QDSL 和 EDSL 变体进行了比较。
引用
@article{arxiv.1507.07264,
title = {Everything old is new again: Quoted Domain Specific Languages},
author = {Shayan Najd and Sam Lindley and Josef Svenningsson and Philip Wadler},
journal= {arXiv preprint arXiv:1507.07264},
year = {2015}
}