hh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Mint: Java Multi-stage Programming Using Weak Separability
Rice University, USA.
Rice University, USA.
Rice University, USA.
Rice University, USA.
Show others and affiliations
2010 (English)In: PLDI '10: proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation : June 5-10, 2010, Toronto, Ontario, Canada, New York, N.Y.: ACM Press, 2010, p. 400-411Conference paper, Published paper (Other academic)
Abstract [en]

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.

Place, publisher, year, edition, pages
New York, N.Y.: ACM Press, 2010. p. 400-411
Keywords [en]
Multi-staged languages, Multi-stage programming, Type systems, Java
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:hh:diva-14412DOI: 10.1145/1806596.1806642ISI: 000281053700035Scopus ID: 2-s2.0-77954748930ISBN: 9781450300193 (print)OAI: oai:DiVA.org:hh-14412DiVA, id: diva2:396149
Conference
ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010, Toronto, Ontario, Canada, 5-10 June 2010
Projects
ACM International Conference on Principles of Language Design and Implementation (PLDI)Available from: 2011-02-08 Created: 2011-02-08 Last updated: 2021-05-11Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Inoue, JunTaha, Walid

Search in DiVA

By author/editor
Inoue, JunTaha, Walid
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 161 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf