Skip to page navigation menu Skip entire header
Brown University
Skip 13 subheader links

Resugaring: Lifting Languages through Syntactic Sugar

Description

Abstract:
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 transformed program. 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 scoping rules for the surface language, making it difficult for ides and other tools to obtain binding information. And finally, it obscures the types of surface programs, which can result in type errors that reference terms the programmer did not write. I address these problems by showing how evaluation steps, scoping rules, and type rules can all be lifted—or resugared—from core to surface languages, thus restoring the abstraction provided by syntactic sugar.
Notes:
Thesis (Ph. D.)--Brown University, 2018

Access Conditions

Rights
In Copyright
Restrictions on Use
Collection is open for research.

Citation

Pombrio, Justin, "Resugaring: Lifting Languages through Syntactic Sugar" (2018). Computer Science Theses and Dissertations. Brown Digital Repository. Brown University Library. https://doi.org/10.26300/c0hv-ev42

Relations

Collection: