Affiliation:
1. Brown University, USA
2. Northeastern University, USA
Abstract
Many languages use syntactic sugar to define parts of their surface language in terms of a smaller core. Thus some properties of the surface language, like its
scoping rules
, are not immediately evident. Nevertheless, IDEs, refactorers, and other tools that traffic in source code depend on these rules to present information to users and to soundly perform their operations. In this paper, we show how to lift scoping rules defined on a core language to rules on the surface, a process of
scope inference
. In the process we introduce a new representation of binding structure---scope as a preorder---and present a theoretical advance: proving that a desugaring system preserves α-equivalence even though scoping rules have been provided
only
for the core language. We have also implemented the system presented in this paper.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automatically deriving control-flow graph generators from operational semantics;Proceedings of the ACM on Programming Languages;2022-08-29
2. Hygienic macro technology;Proceedings of the ACM on Programming Languages;2020-06-12
3. Inferring type rules for syntactic sugar;ACM SIGPLAN Notices;2018-12-02
4. Reasonably programmable literal notation;Proceedings of the ACM on Programming Languages;2018-07-30
5. Inferring type rules for syntactic sugar;Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation;2018-06-11