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.
Wed 6 SepDisplayed time zone: Belfast change
16:40 - 17:50 | |||
16:40 23mTalk | Constrained Type Families Research Papers DOI | ||
17:03 23mTalk | Automating Sized-Type Inference for Complexity Analysis Research Papers Martin Avanzini University of Innsbruck, Austria, Ugo Dal Lago University of Bologna, Italy / Inria, France DOI | ||
17:26 23mTalk | Inferring Scope through Syntactic Sugar Research Papers Justin Pombrio Brown University, USA, Shriram Krishnamurthi Brown University, USA, Mitchell Wand Northeastern University, USA DOI |