Abstract
|
<p>Multi-stage programming (MSP) pro … <p>Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the purely functional setting, it has been shown how MSP can be used to reduce the overhead of abstractions, allowing clean, maintainable code without paying performance penalties. Unfortunately, MSP is difficult to combine with imperative features, which are prevalent in mainstream languages. The central difficulty is scope extrusion, wherein free variables can inadvertently be moved outside the scopes of their binders. This paper proposes a new approach to combining MSP with imperative features that occupies a "sweet spot" in the design space in terms of how well useful MSP applications can be expressed and how easy it is for programmers to understand. The key insight is that escapes (or "anti-quotes") must be weakly separable from the rest of the code, i.e. the computational effects occurring inside an escape that are visible outside the escape are guaranteed to not contain code. To demonstrate the feasibility of this approach, we formalize a type system based on Lightweight Java which we prove sound, and we also provide an implementation, called Mint, to validate both the expressivity of the type system and the effect of staging on the performance of Java programs. © 2010 ACM.</p>ce of Java programs. © 2010 ACM.</p>
|
Author
|
Edwin Westbrook +
, Mathias Ricken +
, Jun Inoue +
, Yilong Yao +
, Tamer Abdelatif +
, Walid Taha +
|
Conference
|
ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010, Toronto, Ontario, Canada, 5-10 June 2010
|
DOI
|
http://dx.doi.org/10.1145/1806596.1806642 +
|
Diva
|
http://hh.diva-portal.org/smash/record.jsf?searchId=1&pid=diva2:396149
|
EndPage
|
411 +
|
HostPublication
|
PLDI '10 : proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation : June 5-10, 2010, Toronto, Ontario, Canada +
|
Projects
|
ACM International Conference on Principles of Language Design and Implementation (PLDI) +
|
PublicationType
|
Conference Paper +
|
Publisher
|
ACM Press +
|
StartPage
|
400 +
|
Title
|
Mint : Java Multi-stage Programming Using Weak Separability +
|
Year
|
2010 +
|
Has queryThis property is a special property in this wiki.
|
Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
, Publications:Mint : Java Multi-stage Programming Using Weak Separability +
|
Categories |
Publication +
|
Modification dateThis property is a special property in this wiki.
|
26 June 2014 03:45:17 +
|