Sangam: A Confluence of Knowledge Streams

One tool, many languages: language-parametric transformation with incremental parametric syntax

Show simple item record

dc.creator Koppel, James
dc.creator Premtoon, Varot
dc.creator Solar Lezama, Armando
dc.date 2019-07-11T18:21:12Z
dc.date 2019-07-11T18:21:12Z
dc.date 2018-10
dc.date 2019-07-10T13:40:29Z
dc.date.accessioned 2023-03-01T18:09:30Z
dc.date.available 2023-03-01T18:09:30Z
dc.identifier 2475-1421
dc.identifier https://hdl.handle.net/1721.1/121586
dc.identifier Koppel, James et al. "One tool, many languages: language-parametric transformation with incremental parametric syntax." Proceedings of the ACM on Programming Languages 2, OOPSLA (November 2018): 122 © 2018 Association of Computing Machinery
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/278969
dc.description We present a new approach for building source-to-source transformations that can run on multiple programming languages, based on a new way of representing programs called incremental parametric syntax. We implement this approach in Haskell in our Cubix system, and construct incremental parametric syntaxes for C, Java, JavaScript, Lua, and Python. We demonstrate a whole-program refactoring tool that runs on all of them, along with three smaller transformations that each run on several. Our evaluation shows that (1) once a transformation is written, little work is required to configure it for a new language (2) transformations built this way output readable code which preserve the structure of the original, according to participants in our human study, and (3) our transformations can still handle language corner-cases, as validated on compiler test suites.
dc.format application/pdf
dc.language en
dc.publisher Association for Computing Machinery (ACM)
dc.relation http://dx.doi.org/10.1145/3276492
dc.relation Journal Proceedings of the ACM on Programming Languages
dc.rights Creative Commons Attribution 4.0 International license
dc.rights https://creativecommons.org/licenses/by/4.0/
dc.source ACM
dc.title One tool, many languages: language-parametric transformation with incremental parametric syntax
dc.type Article
dc.type http://purl.org/eprint/type/ConferencePaper


Files in this item

Files Size Format View
oopsla18main-p221-p.pdf 546.9Kb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse