Slimming Languages by Reducing Sugar: A Case for Semantics-Altering Transformations
Splitting a language into a core language and a desugaring function makes it possible to produce tractable semantics for real-world languages. It does so by pushing much of the language’s complexity into desugaring. This, however, produces large and unwieldy core programs, which has proven to be a significant obstacle to actual use of these semantics.
In this paper we analyze this problem for a semantics of JavaScript. We show that much of the bloat is semantic bloat: a consequence of the language’s rich semantics. We demonstrate how assumptions about language use can confine this bloat, and codify these through several transformations that, in general, do not preserve the language’s semantics. We experimentally demonstrate the effectiveness of these transformations. Finally, we discuss the implications of this work on language design and structure.
Thu 29 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:00 | |||
13:30 22mTalk | Just-in-Time Data Structures Onward! Papers Mattias De Wael Vrije Universiteit Brussel, Stefan Marr INRIA, France, Joeri De Koster Vrije Universiteit Brussel, Jennifer B. Sartor Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel Link to publication DOI | ||
13:52 22mTalk | Separation of Powers in the Cloud: Where Applications and Users Become Peers Onward! Papers Media Attached | ||
14:15 22mTalk | Slimming Languages by Reducing Sugar: A Case for Semantics-Altering Transformations Onward! Papers Junsong Li Brown University, Justin Pombrio , Joe Gibbs Politz Swarthmore College, Shriram Krishnamurthi Brown University Media Attached | ||
14:37 22mTalk | Musiplectics: Computational Assessment of the Complexity of Music Scores Onward! Papers |