Resugaring : Lifting Languages through Syntactic Sugar

semanticscholar(2016)

引用 0|浏览1
暂无评分
摘要
Syntactic sugar is pervasive in language technology. Programmers use it to shrink the size of a core language; to define domain-specific languages; and even to extend their language. Unfortunately, when syntactic sugar is eliminated by transformation, it obscures the relationship between the user’s source program and the program being evaluated. First, it obscures the evaluation steps the program takes when it runs, since these evaluation steps happen in the core (desugared) language rather than the surface (pre-desugaring) language the program was written in. Second, it obscures the semantics of the surface language, since typically a semantics is given only for the core language, with the surface semantics defined implicitly by transformation to the core. And finally, it obscures the scoping rules for the surface language for the same reason. I will address these problems by showing how formal semantics, scoping rules, and evaluation steps can all be resugared from core to surface languages, thus restoring the abstraction provided by syntactic sugar. While doing so, I will use the Pyret language as a testbed to ensure that these techniques can be practically applied. Advisor: Shriram Krishnamurthi (Brown University) External Committee Members: Eelco Visser (Delft University of Technology) and Mitchell Wand (Northeastern University)
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要